Content-based tactile outputs

ABSTRACT

The present disclosure generally relates to content-based tactile outputs. In some embodiments, user interfaces associated with content-based tactile outputs are described. In some embodiments, user interfaces associated with end-of-content tactile outputs are described. In some embodiments, user interfaces associated with moving a user interface in response to different types of input are described. In some embodiments, user interfaces associated with adjustable item-based tactile outputs are described. In some embodiments, user interfaces associated with input velocity-based tactile outputs are described.

CROSS-REFERENCE TO RELATED APPLICATIONS

This applications claims priority to U.S. Provisional Patent ApplicationSer. No. 62/729,978, entitled “CONTENT-BASED TACTILE OUTPUTS,” filedSep. 11, 2018, the contents of which are hereby incorporated byreference in their entirety.

FIELD

The present disclosure relates generally to computer user interfaces,and more specifically to techniques for managing content-based tactileoutputs.

BACKGROUND

At present, there is a need for electronic devices that provide sensoryfeedback (e.g., tactile and/or audio outputs) based on the type ofcontent being displayed and navigated on the display to enhance the userexperience, enhance user efficiency, and convenience in utilizing thedevice.

BRIEF SUMMARY

Some techniques for managing content-based tactile outputs usingelectronic devices, however, are generally cumbersome and inefficient.For example, some existing techniques use a complex and time-consuminguser interface, which may include multiple key presses or keystrokes.Existing techniques require more time than necessary, wasting user timeand device energy. This latter consideration is particularly importantin battery-operated devices.

Accordingly, the present technique provides electronic devices withfaster, more efficient methods and interfaces for managing content-basedtactile outputs. Such methods and interfaces optionally complement orreplace other methods for managing content-based tactile outputs. Suchmethods and interfaces reduce the cognitive burden on a user and producea more efficient human-machine interface. For example, such methods andinterfaces enhance user experience and convenience in navigating contentshown on a device, and thus enable the user to more easily andefficiently navigate content shown on the device. For battery-operatedcomputing devices, such methods and interfaces conserve power andincrease the time between battery charges.

In accordance with some embodiments, a method performed at an electronicdevice with a display, an input element, and one or more tactile outputgenerators is described. The method comprises: displaying, on thedisplay, a user interface; while displaying the user interface,detecting, via the input element, a first input; and in response todetecting the first input: navigating through the user interface; andgenerating, via the one or more tactile output generators, tactileoutput corresponding to the navigation through the user interface,including: in accordance with a determination that a currently-displayedportion of the user interface includes a first type of content, thetactile output corresponding to the navigation includes a first type oftactile output sequence that includes one or more tactile outputsdetermined based on an input metric of the first input; and inaccordance with a determination that the currently-displayed portion ofthe user interface includes a second type of content different from thefirst type of content, the tactile output corresponding to thenavigation includes a second type of tactile output sequence thatincludes one or more tactile outputs determined based on movement ofpredefined units of content in the user interface.

In accordance with some embodiments, a non-transitory computer-readablestorage medium is described. The non-transitory computer-readablestorage medium stores one or more programs configured to be executed byone or more processors of an electronic device with a display, an inputelement, and one or more tactile output generators, the one or moreprograms including instructions for: displaying, on the display, a userinterface; while displaying the user interface, detecting, via the inputelement, a first input; and in response to detecting the first input:navigating through the user interface; and generating, via the one ormore tactile output generators, tactile output corresponding to thenavigation through the user interface, including: in accordance with adetermination that a currently-displayed portion of the user interfaceincludes a first type of content, the tactile output corresponding tothe navigation includes a first type of tactile output sequence thatincludes one or more tactile outputs determined based on an input metricof the first input; and in accordance with a determination that thecurrently-displayed portion of the user interface includes a second typeof content different from the first type of content, the tactile outputcorresponding to the navigation includes a second type of tactile outputsequence that includes one or more tactile outputs determined based onmovement of predefined units of content in the user interface.

In accordance with some embodiments, a transitory computer-readablestorage medium is described. The transitory computer-readable storagemedium stores one or more programs configured to be executed by one ormore processors of an electronic device with a display, an inputelement, and one or more tactile output generators, the one or moreprograms including instructions for: displaying, on the display, a userinterface; while displaying the user interface, detecting, via the inputelement, a first input; and in response to detecting the first input:navigating through the user interface; and generating, via the one ormore tactile output generators, tactile output corresponding to thenavigation through the user interface, including: in accordance with adetermination that a currently-displayed portion of the user interfaceincludes a first type of content, the tactile output corresponding tothe navigation includes a first type of tactile output sequence thatincludes one or more tactile outputs determined based on an input metricof the first input; and in accordance with a determination that thecurrently-displayed portion of the user interface includes a second typeof content different from the first type of content, the tactile outputcorresponding to the navigation includes a second type of tactile outputsequence that includes one or more tactile outputs determined based onmovement of predefined units of content in the user interface.

In accordance with some embodiments, an electronic device is described.The electronic device comprises a display, an input element, one or moretactile output generators, one or more processors, and memory storingone or more programs configured to be executed by the one or moreprocessors, the one or more programs including instructions for:displaying, on the display, a user interface; while displaying the userinterface, detecting, via the input element, a first input; and inresponse to detecting the first input: navigating through the userinterface; and generating, via the one or more tactile outputgenerators, tactile output corresponding to the navigation through theuser interface, including: in accordance with a determination that acurrently-displayed portion of the user interface includes a first typeof content, the tactile output corresponding to the navigation includesa first type of tactile output sequence that includes one or moretactile outputs determined based on an input metric of the first input;and in accordance with a determination that the currently-displayedportion of the user interface includes a second type of contentdifferent from the first type of content, the tactile outputcorresponding to the navigation includes a second type of tactile outputsequence that includes one or more tactile outputs determined based onmovement of predefined units of content in the user interface.

In accordance with some embodiments, an electronic device is described.The electronic device comprises: a display; an input element; one ormore tactile output generators; means for displaying, on the display, auser interface; means, while displaying the user interface, fordetecting, via the input element, a first input; and means, in responseto detecting the first input, for: navigating through the userinterface; and generating, via the one or more tactile outputgenerators, tactile output corresponding to the navigation through theuser interface, including: in accordance with a determination that acurrently-displayed portion of the user interface includes a first typeof content, the tactile output corresponding to the navigation includesa first type of tactile output sequence that includes one or moretactile outputs determined based on an input metric of the first input;and in accordance with a determination that the currently-displayedportion of the user interface includes a second type of contentdifferent from the first type of content, the tactile outputcorresponding to the navigation includes a second type of tactile outputsequence that includes one or more tactile outputs determined based onmovement of predefined units of content in the user interface.

In accordance with some embodiments, a method performed at an electronicdevice with a display, an input element, and one or more tactile outputgenerators is described. The method comprises: displaying, on thedisplay, a first portion of content; while displaying the first portionof content, detecting, via the input element, a first input; in responseto detecting the first input: navigating through the content to displaya second portion of the content; and generating, via the one or moretactile output generators, a first type of tactile output sequence thatincludes one or more tactile outputs; while displaying the secondportion of the content, detecting, via the input element, a secondinput; and in response to detecting the second input and in accordancewith a determination that the second portion of the content is aterminal portion of the content: displaying a visual indication that thecontent is a terminal portion of the content; and forgoing generating,via the one or more tactile output generators, the first type of tactileoutput sequence.

In accordance with some embodiments, a non-transitory computer-readablestorage medium is described. The non-transitory computer-readablestorage medium stores one or more programs configured to be executed byone or more processors of an electronic device with a display, an inputelement, and one or more tactile output generators, the one or moreprograms including instructions for: displaying, on the display, a firstportion of content; while displaying the first portion of content,detecting, via the input element, a first input; in response todetecting the first input: navigating through the content to display asecond portion of the content; and generating, via the one or moretactile output generators, a first type of tactile output sequence thatincludes one or more tactile outputs; while displaying the secondportion of the content, detecting, via the input element, a secondinput; and in response to detecting the second input and in accordancewith a determination that the second portion of the content is aterminal portion of the content: displaying a visual indication that thecontent is a terminal portion of the content; and forgoing generating,via the one or more tactile output generators, the first type of tactileoutput sequence.

In accordance with some embodiments, a transitory computer-readablestorage medium is described. The transitory computer-readable storagemedium stores one or more programs configured to be executed by one ormore processors of an electronic device with a display, an inputelement, and one or more tactile output generators, the one or moreprograms including instructions for: displaying, on the display, a firstportion of content; while displaying the first portion of content,detecting, via the input element, a first input; in response todetecting the first input: navigating through the content to display asecond portion of the content; and generating, via the one or moretactile output generators, a first type of tactile output sequence thatincludes one or more tactile outputs; while displaying the secondportion of the content, detecting, via the input element, a secondinput; and in response to detecting the second input and in accordancewith a determination that the second portion of the content is aterminal portion of the content: displaying a visual indication that thecontent is a terminal portion of the content; and forgoing generating,via the one or more tactile output generators, the first type of tactileoutput sequence.

In accordance with some embodiments, an electronic device is described.The electronic device comprises: a display, an input element, one ormore tactile output generators, one or more processors, and memorystoring one or more programs configured to be executed by the one ormore processors, the one or more programs including instructions for:displaying, on the display, a first portion of content; while displayingthe first portion of content, detecting, via the input element, a firstinput; in response to detecting the first input: navigating through thecontent to display a second portion of the content; and generating, viathe one or more tactile output generators, a first type of tactileoutput sequence that includes one or more tactile outputs; whiledisplaying the second portion of the content, detecting, via the inputelement, a second input; and in response to detecting the second inputand in accordance with a determination that the second portion of thecontent is a terminal portion of the content: displaying a visualindication that the content is a terminal portion of the content; andforgoing generating, via the one or more tactile output generators, thefirst type of tactile output sequence.

In accordance with some embodiments, an electronic device is described.The electronic device comprises: a display; an input element; one ormore tactile output generators; means for displaying, on the display, afirst portion of content; means, while displaying the first portion ofcontent, for detecting, via the input element, a first input; means, inresponse to detecting the first input, for: navigating through thecontent to display a second portion of the content; and generating, viathe one or more tactile output generators, a first type of tactileoutput sequence that includes one or more tactile outputs; means, whiledisplaying the second portion of the content, for detecting, via theinput element, a second input; and means, in response to detecting thesecond input and in accordance with a determination that the secondportion of the content is a terminal portion of the content, for:displaying a visual indication that the content is a terminal portion ofthe content; and forgoing generating, via the one or more tactile outputgenerators, the first type of tactile output sequence.

In accordance with some embodiments, a method performed at an electronicdevice with a touch-sensitive display and a rotatable input element isdescribed. The method comprises: displaying, on the display, a userinterface; while displaying the user interface, detecting a firstportion of an input at the device: in response to detecting a firstportion of the input, moving a user interface object across the displayof the device in accordance with the movement of the input; and afterdetecting the first portion of the input, detecting a second portion ofthe input at the device; and in response to detecting the second portionof the input: in accordance with a determination that the input includesmovement of a contact on the touch-sensitive display and that themovement moves the user interface object across the display by more thana first threshold amount, moving the user interface object to arespective position on the display; in accordance with a determinationthat the input includes movement of a contact on the touch-sensitivedisplay and that the movement moves the user interface object across thedisplay by less than the first threshold amount, forgoing moving theuser interface object to the respective position on the display; inaccordance with a determination that the input includes rotational inputdirected to the rotatable input element and that the rotational inputmoves the user interface object across the display by more than a secondthreshold amount that is less than the first threshold amount, movingthe user interface object to the respective position on the display; andin accordance with a determination that the input includes rotationalinput directed to the rotatable input element and that the rotationalinput moves the user interface object across the display by less thanthe second threshold amount, forgoing moving the user interface objectto the respective position on the display.

In accordance with some embodiments, a non-transitory computer-readablestorage medium is described. The non-transitory computer-readablestorage medium stores one or more programs configured to be executed byone or more processors of an electronic device with a touch-sensitivedisplay and a rotatable input element, the one or more programsincluding instructions for: displaying, on the display, a userinterface; while displaying the user interface, detecting a firstportion of an input at the device: in response to detecting a firstportion of the input, moving a user interface object across the displayof the device in accordance with the movement of the input; and afterdetecting the first portion of the input, detecting a second portion ofthe input at the device; and in response to detecting the second portionof the input: in accordance with a determination that the input includesmovement of a contact on the touch-sensitive display and that themovement moves the user interface object across the display by more thana first threshold amount, moving the user interface object to arespective position on the display; in accordance with a determinationthat the input includes movement of a contact on the touch-sensitivedisplay and that the movement moves the user interface object across thedisplay by less than the first threshold amount, forgoing moving theuser interface object to the respective position on the display; inaccordance with a determination that the input includes rotational inputdirected to the rotatable input element and that the rotational inputmoves the user interface object across the display by more than a secondthreshold amount that is less than the first threshold amount, movingthe user interface object to the respective position on the display; andin accordance with a determination that the input includes rotationalinput directed to the rotatable input element and that the rotationalinput moves the user interface object across the display by less thanthe second threshold amount, forgoing moving the user interface objectto the respective position on the display.

In accordance with some embodiments, a transitory computer-readablestorage medium is described. The transitory computer-readable storagemedium stores one or more programs configured to be executed by one ormore processors of an electronic device with a touch-sensitive displayand a rotatable input element, the one or more programs includinginstructions for: displaying, on the display, a user interface; whiledisplaying the user interface, detecting a first portion of an input atthe device: in response to detecting a first portion of the input,moving a user interface object across the display of the device inaccordance with the movement of the input; and after detecting the firstportion of the input, detecting a second portion of the input at thedevice; and in response to detecting the second portion of the input: inaccordance with a determination that the input includes movement of acontact on the touch-sensitive display and that the movement moves theuser interface object across the display by more than a first thresholdamount, moving the user interface object to a respective position on thedisplay; in accordance with a determination that the input includesmovement of a contact on the touch-sensitive display and that themovement moves the user interface object across the display by less thanthe first threshold amount, forgoing moving the user interface object tothe respective position on the display; in accordance with adetermination that the input includes rotational input directed to therotatable input element and that the rotational input moves the userinterface object across the display by more than a second thresholdamount that is less than the first threshold amount, moving the userinterface object to the respective position on the display; and inaccordance with a determination that the input includes rotational inputdirected to the rotatable input element and that the rotational inputmoves the user interface object across the display by less than thesecond threshold amount, forgoing moving the user interface object tothe respective position on the display.

In accordance with some embodiments, an electronic device is described.The electronic device comprises: a touch-sensitive display, a rotatableinput element, one or more processors, and memory storing one or moreprograms configured to be executed by the one or more processors, theone or more programs including instructions for: displaying, on thedisplay, a user interface; while displaying the user interface,detecting a first portion of an input at the device: in response todetecting a first portion of the input, moving a user interface objectacross the display of the device in accordance with the movement of theinput; and after detecting the first portion of the input, detecting asecond portion of the input at the device; and in response to detectingthe second portion of the input: in accordance with a determination thatthe input includes movement of a contact on the touch-sensitive displayand that the movement moves the user interface object across the displayby more than a first threshold amount, moving the user interface objectto a respective position on the display; in accordance with adetermination that the input includes movement of a contact on thetouch-sensitive display and that the movement moves the user interfaceobject across the display by less than the first threshold amount,forgoing moving the user interface object to the respective position onthe display; in accordance with a determination that the input includesrotational input directed to the rotatable input element and that therotational input moves the user interface object across the display bymore than a second threshold amount that is less than the firstthreshold amount, moving the user interface object to the respectiveposition on the display; and in accordance with a determination that theinput includes rotational input directed to the rotatable input elementand that the rotational input moves the user interface object across thedisplay by less than the second threshold amount, forgoing moving theuser interface object to the respective position on the display.

In accordance with some embodiments, an electronic device is described.The electronic device comprises: a display; a rotatable input element;means for displaying, on the display, a user interface; means, whiledisplaying the user interface, for detecting a first portion of an inputat the device: means, in response to detecting a first portion of theinput, for moving a user interface object across the display of thedevice in accordance with the movement of the input; and means, afterdetecting the first portion of the input, for detecting a second portionof the input at the device; and means, in response to detecting thesecond portion of the input, for: in accordance with a determinationthat the input includes movement of a contact on the touch-sensitivedisplay and that the movement moves the user interface object across thedisplay by more than a first threshold amount, moving the user interfaceobject to a respective position on the display; in accordance with adetermination that the input includes movement of a contact on thetouch-sensitive display and that the movement moves the user interfaceobject across the display by less than the first threshold amount,forgoing moving the user interface object to the respective position onthe display; in accordance with a determination that the input includesrotational input directed to the rotatable input element and that therotational input moves the user interface object across the display bymore than a second threshold amount that is less than the firstthreshold amount, moving the user interface object to the respectiveposition on the display; and in accordance with a determination that theinput includes rotational input directed to the rotatable input elementand that the rotational input moves the user interface object across thedisplay by less than the second threshold amount, forgoing moving theuser interface object to the respective position on the display.

In accordance with some embodiments, a method performed at an electronicdevice with a display, an input element, and one or more tactile outputgenerators is described. The method comprises: displaying, on thedisplay, a user interface that includes a first adjustable item and asecond adjustable item; while displaying the user interface, detecting,via the input element, a rotational input; and in response to detectingthe rotational input: in accordance with a determination that the firstadjustable item is currently-selected: adjusting, based on therotational input, the first adjustable item; and while adjusting thefirst adjustable item, generating, via the one or more tactile outputgenerators, a first sequence of tactile outputs including one or moretactile outputs having a first amplitude; and in accordance with adetermination that the second adjustable item is currently-selected:adjusting, based on the rotational input, the second adjustable item;and while adjusting the second adjustable item, generating, via the oneor more tactile output generators, a second sequence of tactile outputsincluding one or more tactile outputs having a second amplitude that isdifferent from the first amplitude.

In accordance with some embodiments, a non-transitory computer-readablestorage medium is described. The non-transitory computer-readablestorage medium stores one or more programs configured to be executed byone or more processors of an electronic device with a display, an inputelement, and one or more tactile output generators, the one or moreprograms including instructions for: displaying, on the display, a userinterface that includes a first adjustable item and a second adjustableitem; while displaying the user interface, detecting, via the inputelement, a rotational input; and in response to detecting the rotationalinput: in accordance with a determination that the first adjustable itemis currently-selected: adjusting, based on the rotational input, thefirst adjustable item; and while adjusting the first adjustable item,generating, via the one or more tactile output generators, a firstsequence of tactile outputs including one or more tactile outputs havinga first amplitude; and in accordance with a determination that thesecond adjustable item is currently-selected: adjusting, based on therotational input, the second adjustable item; and while adjusting thesecond adjustable item, generating, via the one or more tactile outputgenerators, a second sequence of tactile outputs including one or moretactile outputs having a second amplitude that is different from thefirst amplitude.

In accordance with some embodiments, a transitory computer-readablestorage medium is described. The transitory computer-readable storagemedium stores one or more programs configured to be executed by one ormore processors of an electronic device with a display, an inputelement, and one or more tactile output generators, the one or moreprograms including instructions for: displaying, on the display, a userinterface that includes a first adjustable item and a second adjustableitem; while displaying the user interface, detecting, via the inputelement, a rotational input; and in response to detecting the rotationalinput: in accordance with a determination that the first adjustable itemis currently-selected: adjusting, based on the rotational input, thefirst adjustable item; and while adjusting the first adjustable item,generating, via the one or more tactile output generators, a firstsequence of tactile outputs including one or more tactile outputs havinga first amplitude; and in accordance with a determination that thesecond adjustable item is currently-selected: adjusting, based on therotational input, the second adjustable item; and while adjusting thesecond adjustable item, generating, via the one or more tactile outputgenerators, a second sequence of tactile outputs including one or moretactile outputs having a second amplitude that is different from thefirst amplitude.

In accordance with some embodiments, an electronic device is described.The electronic device comprises: a display, an input element, one ormore tactile output generators, one or more processors, and memorystoring one or more programs configured to be executed by the one ormore processors, the one or more programs including instructions for:displaying, on the display, a user interface that includes a firstadjustable item and a second adjustable item; while displaying the userinterface, detecting, via the input element, a rotational input; and inresponse to detecting the rotational input: in accordance with adetermination that the first adjustable item is currently-selected:adjusting, based on the rotational input, the first adjustable item; andwhile adjusting the first adjustable item, generating, via the one ormore tactile output generators, a first sequence of tactile outputsincluding one or more tactile outputs having a first amplitude; and inaccordance with a determination that the second adjustable item iscurrently-selected: adjusting, based on the rotational input, the secondadjustable item; and while adjusting the second adjustable item,generating, via the one or more tactile output generators, a secondsequence of tactile outputs including one or more tactile outputs havinga second amplitude that is different from the first amplitude.

In accordance with some embodiments, an electronic device is described.The electronic device comprises: a display; an input element; one ormore tactile output generators; means for displaying, on the display, auser interface that includes a first adjustable item and a secondadjustable item; means, while displaying the user interface, fordetecting, via the input element, a rotational input; and means, inresponse to detecting the rotational input, for: in accordance with adetermination that the first adjustable item is currently-selected:adjusting, based on the rotational input, the first adjustable item; andwhile adjusting the first adjustable item, generating, via the one ormore tactile output generators, a first sequence of tactile outputsincluding one or more tactile outputs having a first amplitude; and inaccordance with a determination that the second adjustable item iscurrently-selected: adjusting, based on the rotational input, the secondadjustable item; and while adjusting the second adjustable item,generating, via the one or more tactile output generators, a secondsequence of tactile outputs including one or more tactile outputs havinga second amplitude that is different from the first amplitude.

In accordance with some embodiments, a method performed at an electronicdevice with a display, a rotatable input element, and one or moretactile output generators is described. The method comprises: whiledisplaying, on the display, a user interface, detecting, via therotatable input element, a rotational input; and while detecting therotational input, generating, via the one or more tactile outputgenerators, a plurality of tactile outputs, wherein a type of thetactile outputs is associated with a modification of the user interface,and wherein: in accordance with a determination that a speed of therotational input is a first speed, generating a first number of tactileoutputs for a respective amount of rotation of the rotatable inputelement; and in accordance with a determination that the speed of therotational input is a second speed that is different from the firstspeed, generating a second number of tactile outputs for the respectiveamount of rotation of the rotatable input element.

In accordance with some embodiments, a non-transitory computer-readablestorage medium is described. The non-transitory computer-readablestorage medium stores one or more programs configured to be executed byone or more processors of an electronic device with a display, arotatable input element, and one or more tactile output generators, theone or more programs including instructions for: while displaying, onthe display, a user interface, detecting, via the rotatable inputelement, a rotational input; and while detecting the rotational input,generating, via the one or more tactile output generators, a pluralityof tactile outputs, wherein a type of the tactile outputs is associatedwith a modification of the user interface, and wherein: in accordancewith a determination that a speed of the rotational input is a firstspeed, generating a first number of tactile outputs for a respectiveamount of rotation of the rotatable input element; and in accordancewith a determination that the speed of the rotational input is a secondspeed that is different from the first speed, generating a second numberof tactile outputs for the respective amount of rotation of therotatable input element.

In accordance with some embodiments, a transitory computer-readablestorage medium is described. The transitory computer-readable storagemedium stores one or more programs configured to be executed by one ormore processors of an electronic device with a display, a rotatableinput element, and one or more tactile output generators, the one ormore programs including instructions for: while displaying, on thedisplay, a user interface, detecting, via the rotatable input element, arotational input; and while detecting the rotational input, generating,via the one or more tactile output generators, a plurality of tactileoutputs, wherein a type of the tactile outputs is associated with amodification of the user interface, and wherein: in accordance with adetermination that a speed of the rotational input is a first speed,generating a first number of tactile outputs for a respective amount ofrotation of the rotatable input element; and in accordance with adetermination that the speed of the rotational input is a second speedthat is different from the first speed, generating a second number oftactile outputs for the respective amount of rotation of the rotatableinput element.

In accordance with some embodiments, an electronic device is described.The electronic device comprises: a display, a rotatable input element,one or more tactile output generators, one or more processors, andmemory storing one or more programs configured to be executed by the oneor more processors, the one or more programs including instructions for:while displaying, on the display, a user interface, detecting, via therotatable input element, a rotational input; and while detecting therotational input, generating, via the one or more tactile outputgenerators, a plurality of tactile outputs, wherein a type of thetactile outputs is associated with a modification of the user interface,and wherein: in accordance with a determination that a speed of therotational input is a first speed, generating a first number of tactileoutputs for a respective amount of rotation of the rotatable inputelement; and in accordance with a determination that the speed of therotational input is a second speed that is different from the firstspeed, generating a second number of tactile outputs for the respectiveamount of rotation of the rotatable input element.

In accordance with some embodiments an electronic device is described.The electronic device comprises a display; a rotatable input element;one or more tactile output generators; means, while displaying, on thedisplay, a user interface, for detecting, via the rotatable inputelement, a rotational input; and means, while detecting the rotationalinput, for generating, via the one or more tactile output generators, aplurality of tactile outputs, wherein a type of the tactile outputs isassociated with a modification of the user interface, and wherein: inaccordance with a determination that a speed of the rotational input isa first speed, generating a first number of tactile outputs for arespective amount of rotation of the rotatable input element; and inaccordance with a determination that the speed of the rotational inputis a second speed that is different from the first speed, generating asecond number of tactile outputs for the respective amount of rotationof the rotatable input element.

Executable instructions for performing these functions are, optionally,included in a non-transitory computer-readable storage medium or othercomputer program product configured for execution by one or moreprocessors. Executable instructions for performing these functions are,optionally, included in a transitory computer-readable storage medium orother computer program product configured for execution by one or moreprocessors.

Thus, devices are provided with faster, more efficient methods andinterfaces for managing content-based tactile outputs, therebyincreasing the effectiveness, efficiency, and user satisfaction withsuch devices. Such methods and interfaces may complement or replaceother methods for managing content-based tactile outputs.

DESCRIPTION OF THE FIGURES

For a better understanding of the various described embodiments,reference should be made to the Description of Embodiments below, inconjunction with the following drawings in which like reference numeralsrefer to corresponding parts throughout the figures.

FIG. 1A is a block diagram illustrating a portable multifunction devicewith a touch-sensitive display, in accordance with some embodiments.

FIG. 1B is a block diagram illustrating exemplary components for eventhandling, in accordance with some embodiments.

FIG. 2 illustrates a portable multifunction device having a touchscreen, in accordance with some embodiments.

FIG. 3 is a block diagram of an exemplary multifunction device with adisplay and a touch-sensitive surface, in accordance with someembodiments.

FIG. 4A illustrates an exemplary user interface for a menu ofapplications on a portable multifunction device, in accordance with someembodiments.

FIG. 4B illustrates an exemplary user interface for a multifunctiondevice with a touch-sensitive surface that is separate from the display,in accordance with some embodiments.

FIG. 5A illustrates a personal electronic device, in accordance withsome embodiments.

FIG. 5B is a block diagram illustrating a personal electronic device, inaccordance with some embodiments.

FIGS. 5C-5H illustrate example tactile output patterns that have aparticular waveform, in accordance with some embodiments.

FIGS. 6A-6AF illustrate example user interfaces associated withcontent-based tactile outputs, in accordance with some embodiments.

FIGS. 7A-7D are a flow diagram illustrating methods for managing userinterfaces associated with content-based tactile outputs, in accordancewith some embodiments.

FIGS. 8A-8T illustrate example user interfaces associated withend-of-content tactile outputs, in accordance with some embodiments.

FIGS. 9A-9B are a flow diagram illustrating methods for managing userinterfaces associated with end-of-content tactile outputs, in accordancewith some embodiments.

FIGS. 10A-10K illustrate example user interfaces associated with movinga user interface in response to different types of input, in accordancewith some embodiments.

FIGS. 11A-11C are a flow diagram illustrating methods for moving a userinterface in response to different types of input, in accordance withsome embodiments.

FIGS. 12A-12L illustrate example user interfaces associated withadjustable item-based tactile outputs, in accordance with someembodiments.

FIGS. 13A-13B are a flow diagram illustrating methods for managing userinterfaces associated with adjustable item-based tactile outputs, inaccordance with some embodiments.

FIGS. 14A-14H illustrate example user interfaces associated with inputvelocity-based tactile outputs, in accordance with some embodiments.

FIGS. 15A-15C are a flow diagram illustrating methods for managing userinterfaces associated with input velocity-based tactile outputs, inaccordance with some embodiments.

DESCRIPTION OF EMBODIMENTS

The following description sets forth exemplary methods, parameters, andthe like. It should be recognized, however, that such description is notintended as a limitation on the scope of the present disclosure but isinstead provided as a description of exemplary embodiments.

There is a need for electronic devices that provide efficient methodsand interfaces for managing content-based tactile outputs. For example,there is a need for electronic devices that provide sensory feedback(e.g., tactile and/or audio outputs) based on the type of content beingdisplayed and navigated on the display to enhance user experience andconvenience and user efficiency in utilizing the device. Such techniquescan reduce the cognitive burden on a user who accesses displayed contentassociated with content-based tactile outputs, thereby enhancingproductivity. Further, such techniques can reduce processor and batterypower otherwise wasted on redundant user inputs.

Below, FIGS. 1A-1B, 2, 3, 4A-4B, and 5A-5H provide a description ofexemplary devices for performing the techniques for managing eventnotifications. FIGS. 6A-6AF illustrate example user interfacesassociated with content-based tactile outputs, in accordance with someembodiments. FIGS. 7A-7D are a flow diagram illustrating methods formanaging user interfaces associated with content-based tactile outputs,in accordance with some embodiments. The user interfaces in FIGS. 6A-6AFare used to illustrate the processes described below, including theprocesses in FIGS. 7A-7D. FIGS. 8A-8T illustrate example user interfacesassociated with end-of-content tactile outputs, in accordance with someembodiments. FIGS. 9A-9B are a flow diagram illustrating methods formanaging user interfaces associated with end-of-content tactile outputs,in accordance with some embodiments. The user interfaces in FIGS. 8A-8Tare used to illustrate the processes described below, including theprocesses in FIGS. 9A-9B. FIGS. 10A-10K illustrate example userinterfaces associated with moving a user interface in response todifferent types of input, in accordance with some embodiments. FIGS.11A-11C are a flow diagram illustrating methods for moving a userinterface in response to different types of input, in accordance withsome embodiments. The user interfaces in FIGS. 10A-10K are used toillustrate the processes described below, including the processes inFIGS. 11A-1C. FIGS. 12A-12L illustrate example user interfacesassociated with adjustable item-based tactile outputs, in accordancewith some embodiments. FIGS. 13A-13B are a flow diagram illustratingmethods for managing user interfaces associated with adjustableitem-based tactile outputs, in accordance with some embodiments. Theuser interfaces in FIGS. 12A-12L are used to illustrate the processesdescribed below, including the processes in FIGS. 13A-13B. FIGS. 14A-14Hillustrate example user interfaces associated with input velocity-basedtactile outputs, in accordance with some embodiments. FIGS. 15A-15C area flow diagram illustrating methods for managing user interfacesassociated with input velocity-based tactile outputs, in accordance withsome embodiments. The user interfaces in FIGS. 14A-14H are used toillustrate the processes described below, including the processes inFIGS. 15A-15C.

Although the following description uses terms “first,” “second,” etc. todescribe various elements, these elements should not be limited by theterms. These terms are only used to distinguish one element fromanother. For example, a first touch could be termed a second touch, and,similarly, a second touch could be termed a first touch, withoutdeparting from the scope of the various described embodiments. The firsttouch and the second touch are both touches, but they are not the sametouch.

The terminology used in the description of the various describedembodiments herein is for the purpose of describing particularembodiments only and is not intended to be limiting. As used in thedescription of the various described embodiments and the appendedclaims, the singular forms “a,” “an,” and “the” are intended to includethe plural forms as well, unless the context clearly indicatesotherwise. It will also be understood that the term “and/or” as usedherein refers to and encompasses any and all possible combinations ofone or more of the associated listed items. It will be furtherunderstood that the terms “includes,” “including,” “comprises,” and/or“comprising,” when used in this specification, specify the presence ofstated features, integers, steps, operations, elements, and/orcomponents, but do not preclude the presence or addition of one or moreother features, integers, steps, operations, elements, components,and/or groups thereof.

The term “if” is, optionally, construed to mean “when” or “upon” or “inresponse to determining” or “in response to detecting,” depending on thecontext. Similarly, the phrase “if it is determined” or “if [a statedcondition or event] is detected” is, optionally, construed to mean “upondetermining” or “in response to determining” or “upon detecting [thestated condition or event]” or “in response to detecting [the statedcondition or event],” depending on the context.

Embodiments of electronic devices, user interfaces for such devices, andassociated processes for using such devices are described. In someembodiments, the device is a portable communications device, such as amobile telephone, that also contains other functions, such as PDA and/ormusic player functions. Exemplary embodiments of portable multifunctiondevices include, without limitation, the iPhone®, iPod Touch®, and iPad®devices from Apple Inc. of Cupertino, Calif. Other portable electronicdevices, such as laptops or tablet computers with touch-sensitivesurfaces (e.g., touch screen displays and/or touchpads), are,optionally, used. It should also be understood that, in someembodiments, the device is not a portable communications device, but isa desktop computer with a touch-sensitive surface (e.g., a touch screendisplay and/or a touchpad).

In the discussion that follows, an electronic device that includes adisplay and a touch-sensitive surface is described. It should beunderstood, however, that the electronic device optionally includes oneor more other physical user-interface devices, such as a physicalkeyboard, a mouse, and/or a joystick.

The device typically supports a variety of applications, such as one ormore of the following: a drawing application, a presentationapplication, a word processing application, a website creationapplication, a disk authoring application, a spreadsheet application, agaming application, a telephone application, a video conferencingapplication, an e-mail application, an instant messaging application, aworkout support application, a photo management application, a digitalcamera application, a digital video camera application, a web browsingapplication, a digital music player application, and/or a digital videoplayer application.

The various applications that are executed on the device optionally useat least one common physical user-interface device, such as thetouch-sensitive surface. One or more functions of the touch-sensitivesurface as well as corresponding information displayed on the deviceare, optionally, adjusted and/or varied from one application to the nextand/or within a respective application. In this way, a common physicalarchitecture (such as the touch-sensitive surface) of the deviceoptionally supports the variety of applications with user interfacesthat are intuitive and transparent to the user.

Attention is now directed toward embodiments of portable devices withtouch-sensitive displays. FIG. 1A is a block diagram illustratingportable multifunction device 100 with touch-sensitive display system112 in accordance with some embodiments. Touch-sensitive display 112 issometimes called a “touch screen” for convenience and is sometimes knownas or called a “touch-sensitive display system.” Device 100 includesmemory 102 (which optionally includes one or more computer-readablestorage mediums), memory controller 122, one or more processing units(CPUs) 120, peripherals interface 118, RF circuitry 108, audio circuitry110, speaker 111, microphone 113, input/output (I/O) subsystem 106,other input control devices 116, and external port 124. Device 100optionally includes one or more optical sensors 164. Device 100optionally includes one or more contact intensity sensors 165 fordetecting intensity of contacts on device 100 (e.g., a touch-sensitivesurface such as touch-sensitive display system 112 of device 100).Device 100 optionally includes one or more tactile output generators 167for generating tactile outputs on device 100 (e.g., generating tactileoutputs on a touch-sensitive surface such as touch-sensitive displaysystem 112 of device 100 or touchpad 355 of device 300). Thesecomponents optionally communicate over one or more communication busesor signal lines 103.

As used in the specification and claims, the term “intensity” of acontact on a touch-sensitive surface refers to the force or pressure(force per unit area) of a contact (e.g., a finger contact) on thetouch-sensitive surface, or to a substitute (proxy) for the force orpressure of a contact on the touch-sensitive surface. The intensity of acontact has a range of values that includes at least four distinctvalues and more typically includes hundreds of distinct values (e.g., atleast 256). Intensity of a contact is, optionally, determined (ormeasured) using various approaches and various sensors or combinationsof sensors. For example, one or more force sensors underneath oradjacent to the touch-sensitive surface are, optionally, used to measureforce at various points on the touch-sensitive surface. In someimplementations, force measurements from multiple force sensors arecombined (e.g., a weighted average) to determine an estimated force of acontact. Similarly, a pressure-sensitive tip of a stylus is, optionally,used to determine a pressure of the stylus on the touch-sensitivesurface. Alternatively, the size of the contact area detected on thetouch-sensitive surface and/or changes thereto, the capacitance of thetouch-sensitive surface proximate to the contact and/or changes thereto,and/or the resistance of the touch-sensitive surface proximate to thecontact and/or changes thereto are, optionally, used as a substitute forthe force or pressure of the contact on the touch-sensitive surface. Insome implementations, the substitute measurements for contact force orpressure are used directly to determine whether an intensity thresholdhas been exceeded (e.g., the intensity threshold is described in unitscorresponding to the substitute measurements). In some implementations,the substitute measurements for contact force or pressure are convertedto an estimated force or pressure, and the estimated force or pressureis used to determine whether an intensity threshold has been exceeded(e.g., the intensity threshold is a pressure threshold measured in unitsof pressure). Using the intensity of a contact as an attribute of a userinput allows for user access to additional device functionality that mayotherwise not be accessible by the user on a reduced-size device withlimited real estate for displaying affordances (e.g., on atouch-sensitive display) and/or receiving user input (e.g., via atouch-sensitive display, a touch-sensitive surface, or aphysical/mechanical control such as a knob or a button).

As used in the specification and claims, the term “tactile output”refers to physical displacement of a device relative to a previousposition of the device, physical displacement of a component (e.g., atouch-sensitive surface) of a device relative to another component(e.g., housing) of the device, or displacement of the component relativeto a center of mass of the device that will be detected by a user withthe user's sense of touch. For example, in situations where the deviceor the component of the device is in contact with a surface of a userthat is sensitive to touch (e.g., a finger, palm, or other part of auser's hand), the tactile output generated by the physical displacementwill be interpreted by the user as a tactile sensation corresponding toa perceived change in physical characteristics of the device or thecomponent of the device. For example, movement of a touch-sensitivesurface (e.g., a touch-sensitive display or trackpad) is, optionally,interpreted by the user as a “down click” or “up click” of a physicalactuator button. In some cases, a user will feel a tactile sensationsuch as an “down click” or “up click” even when there is no movement ofa physical actuator button associated with the touch-sensitive surfacethat is physically pressed (e.g., displaced) by the user's movements. Asanother example, movement of the touch-sensitive surface is, optionally,interpreted or sensed by the user as “roughness” of the touch-sensitivesurface, even when there is no change in smoothness of thetouch-sensitive surface. While such interpretations of touch by a userwill be subject to the individualized sensory perceptions of the user,there are many sensory perceptions of touch that are common to a largemajority of users. Thus, when a tactile output is described ascorresponding to a particular sensory perception of a user (e.g., an “upclick,” a “down click,” “roughness”), unless otherwise stated, thegenerated tactile output corresponds to physical displacement of thedevice or a component thereof that will generate the described sensoryperception for a typical (or average) user.

It should be appreciated that device 100 is only one example of aportable multifunction device, and that device 100 optionally has moreor fewer components than shown, optionally combines two or morecomponents, or optionally has a different configuration or arrangementof the components. The various components shown in FIG. 1A areimplemented in hardware, software, or a combination of both hardware andsoftware, including one or more signal processing and/orapplication-specific integrated circuits.

Memory 102 optionally includes high-speed random access memory andoptionally also includes non-volatile memory, such as one or moremagnetic disk storage devices, flash memory devices, or othernon-volatile solid-state memory devices. Memory controller 122optionally controls access to memory 102 by other components of device100.

Peripherals interface 118 can be used to couple input and outputperipherals of the device to CPU 120 and memory 102. The one or moreprocessors 120 run or execute various software programs and/or sets ofinstructions stored in memory 102 to perform various functions fordevice 100 and to process data. In some embodiments, peripheralsinterface 118, CPU 120, and memory controller 122 are, optionally,implemented on a single chip, such as chip 104. In some otherembodiments, they are, optionally, implemented on separate chips.

RF (radio frequency) circuitry 108 receives and sends RF signals, alsocalled electromagnetic signals. RF circuitry 108 converts electricalsignals to/from electromagnetic signals and communicates withcommunications networks and other communications devices via theelectromagnetic signals. RF circuitry 108 optionally includes well-knowncircuitry for performing these functions, including but not limited toan antenna system, an RF transceiver, one or more amplifiers, a tuner,one or more oscillators, a digital signal processor, a CODEC chipset, asubscriber identity module (SIM) card, memory, and so forth. RFcircuitry 108 optionally communicates with networks, such as theInternet, also referred to as the World Wide Web (WWW), an intranetand/or a wireless network, such as a cellular telephone network, awireless local area network (LAN) and/or a metropolitan area network(MAN), and other devices by wireless communication. The RF circuitry 108optionally includes well-known circuitry for detecting near fieldcommunication (NFC) fields, such as by a short-range communicationradio. The wireless communication optionally uses any of a plurality ofcommunications standards, protocols, and technologies, including but notlimited to Global System for Mobile Communications (GSM), Enhanced DataGSM Environment (EDGE), high-speed downlink packet access (HSDPA),high-speed uplink packet access (HSUPA), Evolution, Data-Only (EV-DO),HSPA, HSPA+, Dual-Cell HSPA (DC-HSPDA), long term evolution (LTE), nearfield communication (NFC), wideband code division multiple access(W-CDMA), code division multiple access (CDMA), time division multipleaccess (TDMA), Bluetooth, Bluetooth Low Energy (BTLE), Wireless Fidelity(Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11n,and/or IEEE 802.11ac), voice over Internet Protocol (VoIP), Wi-MAX, aprotocol for e-mail (e.g., Internet message access protocol (IMAP)and/or post office protocol (POP)), instant messaging (e.g., extensiblemessaging and presence protocol (XMPP), Session Initiation Protocol forInstant Messaging and Presence Leveraging Extensions (SIMPLE), InstantMessaging and Presence Service (IMPS)), and/or Short Message Service(SMS), or any other suitable communication protocol, includingcommunication protocols not yet developed as of the filing date of thisdocument.

Audio circuitry 110, speaker 111, and microphone 113 provide an audiointerface between a user and device 100. Audio circuitry 110 receivesaudio data from peripherals interface 118, converts the audio data to anelectrical signal, and transmits the electrical signal to speaker 111.Speaker 111 converts the electrical signal to human-audible sound waves.Audio circuitry 110 also receives electrical signals converted bymicrophone 113 from sound waves. Audio circuitry 110 converts theelectrical signal to audio data and transmits the audio data toperipherals interface 118 for processing. Audio data is, optionally,retrieved from and/or transmitted to memory 102 and/or RF circuitry 108by peripherals interface 118. In some embodiments, audio circuitry 110also includes a headset jack (e.g., 212, FIG. 2). The headset jackprovides an interface between audio circuitry 110 and removable audioinput/output peripherals, such as output-only headphones or a headsetwith both output (e.g., a headphone for one or both ears) and input(e.g., a microphone).

I/O subsystem 106 couples input/output peripherals on device 100, suchas touch screen 112 and other input control devices 116, to peripheralsinterface 118. I/O subsystem 106 optionally includes display controller156, optical sensor controller 158, depth camera controller 169,intensity sensor controller 159, haptic feedback controller 161, and oneor more input controllers 160 for other input or control devices. Theone or more input controllers 160 receive/send electrical signalsfrom/to other input control devices 116. The other input control devices116 optionally include physical buttons (e.g., push buttons, rockerbuttons, etc.), dials, slider switches, joysticks, click wheels, and soforth. In some alternate embodiments, input controller(s) 160 are,optionally, coupled to any (or none) of the following: a keyboard, aninfrared port, a USB port, and a pointer device such as a mouse. The oneor more buttons (e.g., 208, FIG. 2) optionally include an up/down buttonfor volume control of speaker 111 and/or microphone 113. The one or morebuttons optionally include a push button (e.g., 206, FIG. 2).

A quick press of the push button optionally disengages a lock of touchscreen 112 or optionally begins a process that uses gestures on thetouch screen to unlock the device, as described in U.S. patentapplication Ser. No. 11/322,549, “Unlocking a Device by PerformingGestures on an Unlock Image,” filed Dec. 23, 2005, U.S. Pat. No.7,657,849, which is hereby incorporated by reference in its entirety. Alonger press of the push button (e.g., 206) optionally turns power todevice 100 on or off. The functionality of one or more of the buttonsare, optionally, user-customizable. Touch screen 112 is used toimplement virtual or soft buttons and one or more soft keyboards.

Touch-sensitive display 112 provides an input interface and an outputinterface between the device and a user. Display controller 156 receivesand/or sends electrical signals from/to touch screen 112. Touch screen112 displays visual output to the user. The visual output optionallyincludes graphics, text, icons, video, and any combination thereof(collectively termed “graphics”). In some embodiments, some or all ofthe visual output optionally corresponds to user-interface objects.

Touch screen 112 has a touch-sensitive surface, sensor, or set ofsensors that accepts input from the user based on haptic and/or tactilecontact. Touch screen 112 and display controller 156 (along with anyassociated modules and/or sets of instructions in memory 102) detectcontact (and any movement or breaking of the contact) on touch screen112 and convert the detected contact into interaction withuser-interface objects (e.g., one or more soft keys, icons, web pages,or images) that are displayed on touch screen 112. In an exemplaryembodiment, a point of contact between touch screen 112 and the usercorresponds to a finger of the user.

Touch screen 112 optionally uses LCD (liquid crystal display)technology, LPD (light emitting polymer display) technology, or LED(light emitting diode) technology, although other display technologiesare used in other embodiments. Touch screen 112 and display controller156 optionally detect contact and any movement or breaking thereof usingany of a plurality of touch sensing technologies now known or laterdeveloped, including but not limited to capacitive, resistive, infrared,and surface acoustic wave technologies, as well as other proximitysensor arrays or other elements for determining one or more points ofcontact with touch screen 112. In an exemplary embodiment, projectedmutual capacitance sensing technology is used, such as that found in theiPhone® and iPod Touch® from Apple Inc. of Cupertino, Calif.

A touch-sensitive display in some embodiments of touch screen 112 is,optionally, analogous to the multi-touch sensitive touchpads describedin the following U.S. Pat. No. 6,323,846 (Westerman et al.), U.S. Pat.No. 6,570,557 (Westerman et al.), and/or U.S. Pat. No. 6,677,932(Westerman), and/or U.S. Patent Publication 2002/0015024A1, each ofwhich is hereby incorporated by reference in its entirety. However,touch screen 112 displays visual output from device 100, whereastouch-sensitive touchpads do not provide visual output.

A touch-sensitive display in some embodiments of touch screen 112 isdescribed in the following applications: (1) U.S. patent applicationSer. No. 11/381,313, “Multipoint Touch Surface Controller,” filed May 2,2006; (2) U.S. patent application Ser. No. 10/840,862, “MultipointTouchscreen,” filed May 6, 2004; (3) U.S. patent application Ser. No.10/903,964, “Gestures For Touch Sensitive Input Devices,” filed Jul. 30,2004; (4) U.S. patent application Ser. No. 11/048,264, “Gestures ForTouch Sensitive Input Devices,” filed Jan. 31, 2005; (5) U.S. patentapplication Ser. No. 11/038,590, “Mode-Based Graphical User InterfacesFor Touch Sensitive Input Devices,” filed Jan. 18, 2005; (6) U.S. patentapplication Ser. No. 11/228,758, “Virtual Input Device Placement On ATouch Screen User Interface,” filed Sep. 16, 2005; (7) U.S. patentapplication Ser. No. 11/228,700, “Operation Of A Computer With A TouchScreen Interface,” filed Sep. 16, 2005; (8) U.S. patent application Ser.No. 11/228,737, “Activating Virtual Keys Of A Touch-Screen VirtualKeyboard,” filed Sep. 16, 2005; and (9) U.S. patent application Ser. No.11/367,749, “Multi-Functional Hand-Held Device,” filed Mar. 3, 2006. Allof these applications are incorporated by reference herein in theirentirety.

Touch screen 112 optionally has a video resolution in excess of 100 dpi.In some embodiments, the touch screen has a video resolution ofapproximately 160 dpi. The user optionally makes contact with touchscreen 112 using any suitable object or appendage, such as a stylus, afinger, and so forth. In some embodiments, the user interface isdesigned to work primarily with finger-based contacts and gestures,which can be less precise than stylus-based input due to the larger areaof contact of a finger on the touch screen. In some embodiments, thedevice translates the rough finger-based input into a precisepointer/cursor position or command for performing the actions desired bythe user.

In some embodiments, in addition to the touch screen, device 100optionally includes a touchpad for activating or deactivating particularfunctions. In some embodiments, the touchpad is a touch-sensitive areaof the device that, unlike the touch screen, does not display visualoutput. The touchpad is, optionally, a touch-sensitive surface that isseparate from touch screen 112 or an extension of the touch-sensitivesurface formed by the touch screen.

Device 100 also includes power system 162 for powering the variouscomponents. Power system 162 optionally includes a power managementsystem, one or more power sources (e.g., battery, alternating current(AC)), a recharging system, a power failure detection circuit, a powerconverter or inverter, a power status indicator (e.g., a light-emittingdiode (LED)) and any other components associated with the generation,management and distribution of power in portable devices.

Device 100 optionally also includes one or more optical sensors 164.FIG. 1A shows an optical sensor coupled to optical sensor controller 158in I/O subsystem 106. Optical sensor 164 optionally includescharge-coupled device (CCD) or complementary metal-oxide semiconductor(CMOS) phototransistors. Optical sensor 164 receives light from theenvironment, projected through one or more lenses, and converts thelight to data representing an image. In conjunction with imaging module143 (also called a camera module), optical sensor 164 optionallycaptures still images or video. In some embodiments, an optical sensoris located on the back of device 100, opposite touch screen display 112on the front of the device so that the touch screen display is enabledfor use as a viewfinder for still and/or video image acquisition. Insome embodiments, an optical sensor is located on the front of thedevice so that the user's image is, optionally, obtained for videoconferencing while the user views the other video conferenceparticipants on the touch screen display. In some embodiments, theposition of optical sensor 164 can be changed by the user (e.g., byrotating the lens and the sensor in the device housing) so that a singleoptical sensor 164 is used along with the touch screen display for bothvideo conferencing and still and/or video image acquisition.

Device 100 optionally also includes one or more depth camera sensors175. FIG. 1A shows a depth camera sensor coupled to depth cameracontroller 169 in I/O subsystem 106. Depth camera sensor 175 receivesdata from the environment to create a three dimensional model of anobject (e.g., a face) within a scene from a viewpoint (e.g., a depthcamera sensor). In some embodiments, in conjunction with imaging module143 (also called a camera module), depth camera sensor 175 is optionallyused to determine a depth map of different portions of an image capturedby the imaging module 143. In some embodiments, a depth camera sensor islocated on the front of device 100 so that the user's image with depthinformation is, optionally, obtained for video conferencing while theuser views the other video conference participants on the touch screendisplay and to capture selfies with depth map data. In some embodiments,the depth camera sensor 175 is located on the back of device, or on theback and the front of the device 100. In some embodiments, the positionof depth camera sensor 175 can be changed by the user (e.g., by rotatingthe lens and the sensor in the device housing) so that a depth camerasensor 175 is used along with the touch screen display for both videoconferencing and still and/or video image acquisition.

Device 100 optionally also includes one or more contact intensitysensors 165. FIG. 1A shows a contact intensity sensor coupled tointensity sensor controller 159 in I/O subsystem 106. Contact intensitysensor 165 optionally includes one or more piezoresistive strain gauges,capacitive force sensors, electric force sensors, piezoelectric forcesensors, optical force sensors, capacitive touch-sensitive surfaces, orother intensity sensors (e.g., sensors used to measure the force (orpressure) of a contact on a touch-sensitive surface). Contact intensitysensor 165 receives contact intensity information (e.g., pressureinformation or a proxy for pressure information) from the environment.In some embodiments, at least one contact intensity sensor is collocatedwith, or proximate to, a touch-sensitive surface (e.g., touch-sensitivedisplay system 112). In some embodiments, at least one contact intensitysensor is located on the back of device 100, opposite touch screendisplay 112, which is located on the front of device 100.

Device 100 optionally also includes one or more proximity sensors 166.FIG. 1A shows proximity sensor 166 coupled to peripherals interface 118.Alternately, proximity sensor 166 is, optionally, coupled to inputcontroller 160 in I/O subsystem 106. Proximity sensor 166 optionallyperforms as described in U.S. patent application Ser. No. 11/241,839,“Proximity Detector In Handheld Device”; Ser. No. 11/240,788, “ProximityDetector In Handheld Device”; Ser. No. 11/620,702, “Using Ambient LightSensor To Augment Proximity Sensor Output”; Ser. No. 11/586,862,“Automated Response To And Sensing Of User Activity In PortableDevices”; and Ser. No. 11/638,251, “Methods And Systems For AutomaticConfiguration Of Peripherals,” which are hereby incorporated byreference in their entirety. In some embodiments, the proximity sensorturns off and disables touch screen 112 when the multifunction device isplaced near the user's ear (e.g., when the user is making a phone call).

Device 100 optionally also includes one or more tactile outputgenerators 167. FIG. 1A shows a tactile output generator coupled tohaptic feedback controller 161 in I/O subsystem 106. Tactile outputgenerator 167 optionally includes one or more electroacoustic devicessuch as speakers or other audio components and/or electromechanicaldevices that convert energy into linear motion such as a motor,solenoid, electroactive polymer, piezoelectric actuator, electrostaticactuator, or other tactile output generating component (e.g., acomponent that converts electrical signals into tactile outputs on thedevice). Contact intensity sensor 165 receives tactile feedbackgeneration instructions from haptic feedback module 133 and generatestactile outputs on device 100 that are capable of being sensed by a userof device 100. In some embodiments, at least one tactile outputgenerator is collocated with, or proximate to, a touch-sensitive surface(e.g., touch-sensitive display system 112) and, optionally, generates atactile output by moving the touch-sensitive surface vertically (e.g.,in/out of a surface of device 100) or laterally (e.g., back and forth inthe same plane as a surface of device 100). In some embodiments, atleast one tactile output generator sensor is located on the back ofdevice 100, opposite touch screen display 112, which is located on thefront of device 100.

Device 100 optionally also includes one or more accelerometers 168. FIG.1A shows accelerometer 168 coupled to peripherals interface 118.Alternately, accelerometer 168 is, optionally, coupled to an inputcontroller 160 in I/O subsystem 106. Accelerometer 168 optionallyperforms as described in U.S. Patent Publication No. 20050190059,“Acceleration-based Theft Detection System for Portable ElectronicDevices,” and U.S. Patent Publication No. 20060017692, “Methods AndApparatuses For Operating A Portable Device Based On An Accelerometer,”both of which are incorporated by reference herein in their entirety. Insome embodiments, information is displayed on the touch screen displayin a portrait view or a landscape view based on an analysis of datareceived from the one or more accelerometers. Device 100 optionallyincludes, in addition to accelerometer(s) 168, a magnetometer and a GPS(or GLONASS or other global navigation system) receiver for obtaininginformation concerning the location and orientation (e.g., portrait orlandscape) of device 100.

In some embodiments, the software components stored in memory 102include operating system 126, communication module (or set ofinstructions) 128, contact/motion module (or set of instructions) 130,graphics module (or set of instructions) 132, text input module (or setof instructions) 134, Global Positioning System (GPS) module (or set ofinstructions) 135, and applications (or sets of instructions) 136.Furthermore, in some embodiments, memory 102 (FIG. 1A) or 370 (FIG. 3)stores device/global internal state 157, as shown in FIGS. 1A and 3.Device/global internal state 157 includes one or more of: activeapplication state, indicating which applications, if any, are currentlyactive; display state, indicating what applications, views or otherinformation occupy various regions of touch screen display 112; sensorstate, including information obtained from the device's various sensorsand input control devices 116, and location information concerning thedevice's location and/or attitude.

Operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, iOS,WINDOWS, or an embedded operating system such as VxWorks) includesvarious software components and/or drivers for controlling and managinggeneral system tasks (e.g., memory management, storage device control,power management, etc.) and facilitates communication between varioushardware and software components.

Communication module 128 facilitates communication with other devicesover one or more external ports 124 and also includes various softwarecomponents for handling data received by RF circuitry 108 and/orexternal port 124. External port 124 (e.g., Universal Serial Bus (USB),FIREWIRE, etc.) is adapted for coupling directly to other devices orindirectly over a network (e.g., the Internet, wireless LAN, etc.). Insome embodiments, the external port is a multi-pin (e.g., 30-pin)connector that is the same as, or similar to and/or compatible with, the30-pin connector used on iPod® (trademark of Apple Inc.) devices.

Contact/motion module 130 optionally detects contact with touch screen112 (in conjunction with display controller 156) and othertouch-sensitive devices (e.g., a touchpad or physical click wheel).Contact/motion module 130 includes various software components forperforming various operations related to detection of contact, such asdetermining if contact has occurred (e.g., detecting a finger-downevent), determining an intensity of the contact (e.g., the force orpressure of the contact or a substitute for the force or pressure of thecontact), determining if there is movement of the contact and trackingthe movement across the touch-sensitive surface (e.g., detecting one ormore finger-dragging events), and determining if the contact has ceased(e.g., detecting a finger-up event or a break in contact).Contact/motion module 130 receives contact data from the touch-sensitivesurface. Determining movement of the point of contact, which isrepresented by a series of contact data, optionally includes determiningspeed (magnitude), velocity (magnitude and direction), and/or anacceleration (a change in magnitude and/or direction) of the point ofcontact. These operations are, optionally, applied to single contacts(e.g., one finger contacts) or to multiple simultaneous contacts (e.g.,“multitouch”/multiple finger contacts). In some embodiments,contact/motion module 130 and display controller 156 detect contact on atouchpad.

In some embodiments, contact/motion module 130 uses a set of one or moreintensity thresholds to determine whether an operation has beenperformed by a user (e.g., to determine whether a user has “clicked” onan icon). In some embodiments, at least a subset of the intensitythresholds are determined in accordance with software parameters (e.g.,the intensity thresholds are not determined by the activation thresholdsof particular physical actuators and can be adjusted without changingthe physical hardware of device 100). For example, a mouse “click”threshold of a trackpad or touch screen display can be set to any of alarge range of predefined threshold values without changing the trackpador touch screen display hardware. Additionally, in some implementations,a user of the device is provided with software settings for adjustingone or more of the sets of intensity thresholds (e.g., by adjustingindividual intensity thresholds and/or by adjusting a plurality ofintensity thresholds at once with a system-level click “intensity”parameter).

Contact/motion module 130 optionally detects a gesture input by a user.Different gestures on the touch-sensitive surface have different contactpatterns (e.g., different motions, timings, and/or intensities ofdetected contacts). Thus, a gesture is, optionally, detected bydetecting a particular contact pattern. For example, detecting a fingertap gesture includes detecting a finger-down event followed by detectinga finger-up (liftoff) event at the same position (or substantially thesame position) as the finger-down event (e.g., at the position of anicon). As another example, detecting a finger swipe gesture on thetouch-sensitive surface includes detecting a finger-down event followedby detecting one or more finger-dragging events, and subsequentlyfollowed by detecting a finger-up (liftoff) event.

Graphics module 132 includes various known software components forrendering and displaying graphics on touch screen 112 or other display,including components for changing the visual impact (e.g., brightness,transparency, saturation, contrast, or other visual property) ofgraphics that are displayed. As used herein, the term “graphics”includes any object that can be displayed to a user, including, withoutlimitation, text, web pages, icons (such as user-interface objectsincluding soft keys), digital images, videos, animations, and the like.

In some embodiments, graphics module 132 stores data representinggraphics to be used. Each graphic is, optionally, assigned acorresponding code. Graphics module 132 receives, from applicationsetc., one or more codes specifying graphics to be displayed along with,if necessary, coordinate data and other graphic property data, and thengenerates screen image data to output to display controller 156.

Haptic feedback module 133 includes various software components forgenerating instructions used by tactile output generator(s) 167 toproduce tactile outputs at one or more locations on device 100 inresponse to user interactions with device 100.

Text input module 134, which is, optionally, a component of graphicsmodule 132, provides soft keyboards for entering text in variousapplications (e.g., contacts 137, e-mail 140, IM 141, browser 147, andany other application that needs text input).

GPS module 135 determines the location of the device and provides thisinformation for use in various applications (e.g., to telephone 138 foruse in location-based dialing; to camera 143 as picture/video metadata;and to applications that provide location-based services such as weatherwidgets, local yellow page widgets, and map/navigation widgets).

Applications 136 optionally include the following modules (or sets ofinstructions), or a subset or superset thereof:

-   -   Contacts module 137 (sometimes called an address book or contact        list);    -   Telephone module 138;    -   Video conference module 139;    -   E-mail client module 140;    -   Instant messaging (IM) module 141;    -   Workout support module 142;    -   Camera module 143 for still and/or video images;    -   Image management module 144;    -   Video player module;    -   Music player module;    -   Browser module 147;    -   Calendar module 148;    -   Widget modules 149, which optionally include one or more of:        weather widget 149-1, stocks widget 149-2, calculator widget        149-3, alarm clock widget 149-4, dictionary widget 149-5, and        other widgets obtained by the user, as well as user-created        widgets 149-6;    -   Widget creator module 150 for making user-created widgets 149-6;    -   Search module 151;    -   Video and music player module 152, which merges video player        module and music player module;    -   Notes module 153;    -   Map module 154; and/or    -   Online video module 155.

Examples of other applications 136 that are, optionally, stored inmemory 102 include other word processing applications, other imageediting applications, drawing applications, presentation applications,JAVA-enabled applications, encryption, digital rights management, voicerecognition, and voice replication.

In conjunction with touch screen 112, display controller 156,contact/motion module 130, graphics module 132, and text input module134, contacts module 137 are, optionally, used to manage an address bookor contact list (e.g., stored in application internal state 192 ofcontacts module 137 in memory 102 or memory 370), including: addingname(s) to the address book; deleting name(s) from the address book;associating telephone number(s), e-mail address(es), physicaladdress(es) or other information with a name; associating an image witha name; categorizing and sorting names; providing telephone numbers ore-mail addresses to initiate and/or facilitate communications bytelephone 138, video conference module 139, e-mail 140, or IM 141; andso forth.

In conjunction with RF circuitry 108, audio circuitry 110, speaker 111,microphone 113, touch screen 112, display controller 156, contact/motionmodule 130, graphics module 132, and text input module 134, telephonemodule 138 are optionally, used to enter a sequence of characterscorresponding to a telephone number, access one or more telephonenumbers in contacts module 137, modify a telephone number that has beenentered, dial a respective telephone number, conduct a conversation, anddisconnect or hang up when the conversation is completed. As notedabove, the wireless communication optionally uses any of a plurality ofcommunications standards, protocols, and technologies.

In conjunction with RF circuitry 108, audio circuitry 110, speaker 111,microphone 113, touch screen 112, display controller 156, optical sensor164, optical sensor controller 158, contact/motion module 130, graphicsmodule 132, text input module 134, contacts module 137, and telephonemodule 138, video conference module 139 includes executable instructionsto initiate, conduct, and terminate a video conference between a userand one or more other participants in accordance with user instructions.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, and textinput module 134, e-mail client module 140 includes executableinstructions to create, send, receive, and manage e-mail in response touser instructions. In conjunction with image management module 144,e-mail client module 140 makes it very easy to create and send e-mailswith still or video images taken with camera module 143.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, and textinput module 134, the instant messaging module 141 includes executableinstructions to enter a sequence of characters corresponding to aninstant message, to modify previously entered characters, to transmit arespective instant message (for example, using a Short Message Service(SMS) or Multimedia Message Service (MMS) protocol for telephony-basedinstant messages or using XMPP, SIMPLE, or IMPS for Internet-basedinstant messages), to receive instant messages, and to view receivedinstant messages. In some embodiments, transmitted and/or receivedinstant messages optionally include graphics, photos, audio files, videofiles and/or other attachments as are supported in an MMS and/or anEnhanced Messaging Service (EMS). As used herein, “instant messaging”refers to both telephony-based messages (e.g., messages sent using SMSor MMS) and Internet-based messages (e.g., messages sent using XMPP,SIMPLE, or IMPS).

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, textinput module 134, GPS module 135, map module 154, and music playermodule, workout support module 142 includes executable instructions tocreate workouts (e.g., with time, distance, and/or calorie burninggoals); communicate with workout sensors (sports devices); receiveworkout sensor data; calibrate sensors used to monitor a workout; selectand play music for a workout; and display, store, and transmit workoutdata.

In conjunction with touch screen 112, display controller 156, opticalsensor(s) 164, optical sensor controller 158, contact/motion module 130,graphics module 132, and image management module 144, camera module 143includes executable instructions to capture still images or video(including a video stream) and store them into memory 102, modifycharacteristics of a still image or video, or delete a still image orvideo from memory 102.

In conjunction with touch screen 112, display controller 156,contact/motion module 130, graphics module 132, text input module 134,and camera module 143, image management module 144 includes executableinstructions to arrange, modify (e.g., edit), or otherwise manipulate,label, delete, present (e.g., in a digital slide show or album), andstore still and/or video images.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, and textinput module 134, browser module 147 includes executable instructions tobrowse the Internet in accordance with user instructions, includingsearching, linking to, receiving, and displaying web pages or portionsthereof, as well as attachments and other files linked to web pages.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, textinput module 134, e-mail client module 140, and browser module 147,calendar module 148 includes executable instructions to create, display,modify, and store calendars and data associated with calendars (e.g.,calendar entries, to-do lists, etc.) in accordance with userinstructions.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, textinput module 134, and browser module 147, widget modules 149 aremini-applications that are, optionally, downloaded and used by a user(e.g., weather widget 149-1, stocks widget 149-2, calculator widget149-3, alarm clock widget 149-4, and dictionary widget 149-5) or createdby the user (e.g., user-created widget 149-6). In some embodiments, awidget includes an HTML (Hypertext Markup Language) file, a CSS(Cascading Style Sheets) file, and a JavaScript file. In someembodiments, a widget includes an XML (Extensible Markup Language) fileand a JavaScript file (e.g., Yahoo!Widgets).

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, textinput module 134, and browser module 147, the widget creator module 150are, optionally, used by a user to create widgets (e.g., turning auser-specified portion of a web page into a widget).

In conjunction with touch screen 112, display controller 156,contact/motion module 130, graphics module 132, and text input module134, search module 151 includes executable instructions to search fortext, music, sound, image, video, and/or other files in memory 102 thatmatch one or more search criteria (e.g., one or more user-specifiedsearch terms) in accordance with user instructions.

In conjunction with touch screen 112, display controller 156,contact/motion module 130, graphics module 132, audio circuitry 110,speaker 111, RF circuitry 108, and browser module 147, video and musicplayer module 152 includes executable instructions that allow the userto download and play back recorded music and other sound files stored inone or more file formats, such as MP3 or AAC files, and executableinstructions to display, present, or otherwise play back videos (e.g.,on touch screen 112 or on an external, connected display via externalport 124). In some embodiments, device 100 optionally includes thefunctionality of an MP3 player, such as an iPod (trademark of AppleInc.).

In conjunction with touch screen 112, display controller 156,contact/motion module 130, graphics module 132, and text input module134, notes module 153 includes executable instructions to create andmanage notes, to-do lists, and the like in accordance with userinstructions.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, textinput module 134, GPS module 135, and browser module 147, map module 154are, optionally, used to receive, display, modify, and store maps anddata associated with maps (e.g., driving directions, data on stores andother points of interest at or near a particular location, and otherlocation-based data) in accordance with user instructions.

In conjunction with touch screen 112, display controller 156,contact/motion module 130, graphics module 132, audio circuitry 110,speaker 111, RF circuitry 108, text input module 134, e-mail clientmodule 140, and browser module 147, online video module 155 includesinstructions that allow the user to access, browse, receive (e.g., bystreaming and/or download), play back (e.g., on the touch screen or onan external, connected display via external port 124), send an e-mailwith a link to a particular online video, and otherwise manage onlinevideos in one or more file formats, such as H.264. In some embodiments,instant messaging module 141, rather than e-mail client module 140, isused to send a link to a particular online video. Additional descriptionof the online video application can be found in U.S. Provisional PatentApplication No. 60/936,562, “Portable Multifunction Device, Method, andGraphical User Interface for Playing Online Videos,” filed Jun. 20,2007, and U.S. patent application Ser. No. 11/968,067, “PortableMultifunction Device, Method, and Graphical User Interface for PlayingOnline Videos,” filed Dec. 31, 2007, the contents of which are herebyincorporated by reference in their entirety.

Each of the above-identified modules and applications corresponds to aset of executable instructions for performing one or more functionsdescribed above and the methods described in this application (e.g., thecomputer-implemented methods and other information processing methodsdescribed herein). These modules (e.g., sets of instructions) need notbe implemented as separate software programs, procedures, or modules,and thus various subsets of these modules are, optionally, combined orotherwise rearranged in various embodiments. For example, video playermodule is, optionally, combined with music player module into a singlemodule (e.g., video and music player module 152, FIG. 1A). In someembodiments, memory 102 optionally stores a subset of the modules anddata structures identified above. Furthermore, memory 102 optionallystores additional modules and data structures not described above.

In some embodiments, device 100 is a device where operation ofapredefined set of functions on the device is performed exclusivelythrough a touch screen and/or a touchpad. By using a touch screen and/ora touchpad as the primary input control device for operation of device100, the number of physical input control devices (such as push buttons,dials, and the like) on device 100 is, optionally, reduced.

The predefined set of functions that are performed exclusively through atouch screen and/or a touchpad optionally include navigation betweenuser interfaces. In some embodiments, the touchpad, when touched by theuser, navigates device 100 to a main, home, or root menu from any userinterface that is displayed on device 100. In such embodiments, a “menubutton” is implemented using a touchpad. In some other embodiments, themenu button is a physical push button or other physical input controldevice instead of a touchpad.

FIG. 1B is a block diagram illustrating exemplary components for eventhandling in accordance with some embodiments. In some embodiments,memory 102 (FIG. 1A) or 370 (FIG. 3) includes event sorter 170 (e.g., inoperating system 126) and a respective application 136-1 (e.g., any ofthe aforementioned applications 137-151, 155, 380-390).

Event sorter 170 receives event information and determines theapplication 136-1 and application view 191 of application 136-1 to whichto deliver the event information. Event sorter 170 includes eventmonitor 171 and event dispatcher module 174. In some embodiments,application 136-1 includes application internal state 192, whichindicates the current application view(s) displayed on touch-sensitivedisplay 112 when the application is active or executing. In someembodiments, device/global internal state 157 is used by event sorter170 to determine which application(s) is (are) currently active, andapplication internal state 192 is used by event sorter 170 to determineapplication views 191 to which to deliver event information.

In some embodiments, application internal state 192 includes additionalinformation, such as one or more of: resume information to be used whenapplication 136-1 resumes execution, user interface state informationthat indicates information being displayed or that is ready for displayby application 136-1, a state queue for enabling the user to go back toa prior state or view of application 136-1, and a redo/undo queue ofprevious actions taken by the user.

Event monitor 171 receives event information from peripherals interface118. Event information includes information about a sub-event (e.g., auser touch on touch-sensitive display 112, as part of a multi-touchgesture). Peripherals interface 118 transmits information it receivesfrom I/O subsystem 106 or a sensor, such as proximity sensor 166,accelerometer(s) 168, and/or microphone 113 (through audio circuitry110). Information that peripherals interface 118 receives from I/Osubsystem 106 includes information from touch-sensitive display 112 or atouch-sensitive surface.

In some embodiments, event monitor 171 sends requests to the peripheralsinterface 118 at predetermined intervals. In response, peripheralsinterface 118 transmits event information. In other embodiments,peripherals interface 118 transmits event information only when there isa significant event (e.g., receiving an input above a predeterminednoise threshold and/or for more than a predetermined duration).

In some embodiments, event sorter 170 also includes a hit viewdetermination module 172 and/or an active event recognizer determinationmodule 173.

Hit view determination module 172 provides software procedures fordetermining where a sub-event has taken place within one or more viewswhen touch-sensitive display 112 displays more than one view. Views aremade up of controls and other elements that a user can see on thedisplay.

Another aspect of the user interface associated with an application is aset of views, sometimes herein called application views or userinterface windows, in which information is displayed and touch-basedgestures occur. The application views (of a respective application) inwhich a touch is detected optionally correspond to programmatic levelswithin a programmatic or view hierarchy of the application. For example,the lowest level view in which a touch is detected is, optionally,called the hit view, and the set of events that are recognized as properinputs are, optionally, determined based, at least in part, on the hitview of the initial touch that begins a touch-based gesture.

Hit view determination module 172 receives information related tosub-events of a touch-based gesture. When an application has multipleviews organized in a hierarchy, hit view determination module 172identifies a hit view as the lowest view in the hierarchy which shouldhandle the sub-event. In most circumstances, the hit view is the lowestlevel view in which an initiating sub-event occurs (e.g., the firstsub-event in the sequence of sub-events that form an event or potentialevent). Once the hit view is identified by the hit view determinationmodule 172, the hit view typically receives all sub-events related tothe same touch or input source for which it was identified as the hitview.

Active event recognizer determination module 173 determines which viewor views within a view hierarchy should receive a particular sequence ofsub-events. In some embodiments, active event recognizer determinationmodule 173 determines that only the hit view should receive a particularsequence of sub-events. In other embodiments, active event recognizerdetermination module 173 determines that all views that include thephysical location of a sub-event are actively involved views, andtherefore determines that all actively involved views should receive aparticular sequence of sub-events. In other embodiments, even if touchsub-events were entirely confined to the area associated with oneparticular view, views higher in the hierarchy would still remain asactively involved views.

Event dispatcher module 174 dispatches the event information to an eventrecognizer (e.g., event recognizer 180). In embodiments including activeevent recognizer determination module 173, event dispatcher module 174delivers the event information to an event recognizer determined byactive event recognizer determination module 173. In some embodiments,event dispatcher module 174 stores in an event queue the eventinformation, which is retrieved by a respective event receiver 182.

In some embodiments, operating system 126 includes event sorter 170.Alternatively, application 136-1 includes event sorter 170. In yet otherembodiments, event sorter 170 is a stand-alone module, or a part ofanother module stored in memory 102, such as contact/motion module 130.

In some embodiments, application 136-1 includes a plurality of eventhandlers 190 and one or more application views 191, each of whichincludes instructions for handling touch events that occur within arespective view of the application's user interface. Each applicationview 191 of the application 136-1 includes one or more event recognizers180. Typically, a respective application view 191 includes a pluralityof event recognizers 180. In other embodiments, one or more of eventrecognizers 180 are part of a separate module, such as a user interfacekit or a higher level object from which application 136-1 inheritsmethods and other properties. In some embodiments, a respective eventhandler 190 includes one or more of: data updater 176, object updater177, GUI updater 178, and/or event data 179 received from event sorter170. Event handler 190 optionally utilizes or calls data updater 176,object updater 177, or GUI updater 178 to update the applicationinternal state 192. Alternatively, one or more of the application views191 include one or more respective event handlers 190. Also, in someembodiments, one or more of data updater 176, object updater 177, andGUI updater 178 are included in a respective application view 191.

A respective event recognizer 180 receives event information (e.g.,event data 179) from event sorter 170 and identifies an event from theevent information. Event recognizer 180 includes event receiver 182 andevent comparator 184. In some embodiments, event recognizer 180 alsoincludes at least a subset of: metadata 183, and event deliveryinstructions 188 (which optionally include sub-event deliveryinstructions).

Event receiver 182 receives event information from event sorter 170. Theevent information includes information about a sub-event, for example, atouch or a touch movement. Depending on the sub-event, the eventinformation also includes additional information, such as location ofthe sub-event. When the sub-event concerns motion of a touch, the eventinformation optionally also includes speed and direction of thesub-event. In some embodiments, events include rotation of the devicefrom one orientation to another (e.g., from a portrait orientation to alandscape orientation, or vice versa), and the event informationincludes corresponding information about the current orientation (alsocalled device attitude) of the device.

Event comparator 184 compares the event information to predefined eventor sub-event definitions and, based on the comparison, determines anevent or sub-event, or determines or updates the state of an event orsub-event. In some embodiments, event comparator 184 includes eventdefinitions 186. Event definitions 186 contain definitions of events(e.g., predefined sequences of sub-events), for example, event 1(187-1), event 2 (187-2), and others. In some embodiments, sub-events inan event (187) include, for example, touch begin, touch end, touchmovement, touch cancellation, and multiple touching. In one example, thedefinition for event 1 (187-1) is a double tap on a displayed object.The double tap, for example, comprises a first touch (touch begin) onthe displayed object for a predetermined phase, a first liftoff (touchend) for a predetermined phase, a second touch (touch begin) on thedisplayed object for a predetermined phase, and a second liftoff (touchend) for a predetermined phase. In another example, the definition forevent 2 (187-2) is a dragging on a displayed object. The dragging, forexample, comprises a touch (or contact) on the displayed object for apredetermined phase, a movement of the touch across touch-sensitivedisplay 112, and liftoff of the touch (touch end). In some embodiments,the event also includes information for one or more associated eventhandlers 190.

In some embodiments, event definition 187 includes a definition of anevent for a respective user-interface object. In some embodiments, eventcomparator 184 performs a hit test to determine which user-interfaceobject is associated with a sub-event. For example, in an applicationview in which three user-interface objects are displayed ontouch-sensitive display 112, when a touch is detected on touch-sensitivedisplay 112, event comparator 184 performs a hit test to determine whichof the three user-interface objects is associated with the touch(sub-event). If each displayed object is associated with a respectiveevent handler 190, the event comparator uses the result of the hit testto determine which event handler 190 should be activated. For example,event comparator 184 selects an event handler associated with thesub-event and the object triggering the hit test.

In some embodiments, the definition for a respective event (187) alsoincludes delayed actions that delay delivery of the event informationuntil after it has been determined whether the sequence of sub-eventsdoes or does not correspond to the event recognizer's event type.

When a respective event recognizer 180 determines that the series ofsub-events do not match any of the events in event definitions 186, therespective event recognizer 180 enters an event impossible, eventfailed, or event ended state, after which it disregards subsequentsub-events of the touch-based gesture. In this situation, other eventrecognizers, if any, that remain active for the hit view continue totrack and process sub-events of an ongoing touch-based gesture.

In some embodiments, a respective event recognizer 180 includes metadata183 with configurable properties, flags, and/or lists that indicate howthe event delivery system should perform sub-event delivery to activelyinvolved event recognizers. In some embodiments, metadata 183 includesconfigurable properties, flags, and/or lists that indicate how eventrecognizers interact, or are enabled to interact, with one another. Insome embodiments, metadata 183 includes configurable properties, flags,and/or lists that indicate whether sub-events are delivered to varyinglevels in the view or programmatic hierarchy.

In some embodiments, a respective event recognizer 180 activates eventhandler 190 associated with an event when one or more particularsub-events of an event are recognized. In some embodiments, a respectiveevent recognizer 180 delivers event information associated with theevent to event handler 190. Activating an event handler 190 is distinctfrom sending (and deferred sending) sub-events to a respective hit view.In some embodiments, event recognizer 180 throws a flag associated withthe recognized event, and event handler 190 associated with the flagcatches the flag and performs a predefined process.

In some embodiments, event delivery instructions 188 include sub-eventdelivery instructions that deliver event information about a sub-eventwithout activating an event handler. Instead, the sub-event deliveryinstructions deliver event information to event handlers associated withthe series of sub-events or to actively involved views. Event handlersassociated with the series of sub-events or with actively involved viewsreceive the event information and perform a predetermined process.

In some embodiments, data updater 176 creates and updates data used inapplication 136-1. For example, data updater 176 updates the telephonenumber used in contacts module 137, or stores a video file used in videoplayer module. In some embodiments, object updater 177 creates andupdates objects used in application 136-1. For example, object updater177 creates a new user-interface object or updates the position of auser-interface object. GUI updater 178 updates the GUI. For example, GUIupdater 178 prepares display information and sends it to graphics module132 for display on a touch-sensitive display.

In some embodiments, event handler(s) 190 includes or has access to dataupdater 176, object updater 177, and GUI updater 178. In someembodiments, data updater 176, object updater 177, and GUI updater 178are included in a single module of a respective application 136-1 orapplication view 191. In other embodiments, they are included in two ormore software modules.

It shall be understood that the foregoing discussion regarding eventhandling of user touches on touch-sensitive displays also applies toother forms of user inputs to operate multifunction devices 100 withinput devices, not all of which are initiated on touch screens. Forexample, mouse movement and mouse button presses, optionally coordinatedwith single or multiple keyboard presses or holds; contact movementssuch as taps, drags, scrolls, etc. on touchpads; pen stylus inputs;movement of the device; oral instructions; detected eye movements;biometric inputs; and/or any combination thereof are optionally utilizedas inputs corresponding to sub-events which define an event to berecognized.

FIG. 2 illustrates a portable multifunction device 100 having a touchscreen 112 in accordance with some embodiments. The touch screenoptionally displays one or more graphics within user interface (UI) 200.In this embodiment, as well as others described below, a user is enabledto select one or more of the graphics by making a gesture on thegraphics, for example, with one or more fingers 202 (not drawn to scalein the figure) or one or more styluses 203 (not drawn to scale in thefigure). In some embodiments, selection of one or more graphics occurswhen the user breaks contact with the one or more graphics. In someembodiments, the gesture optionally includes one or more taps, one ormore swipes (from left to right, right to left, upward and/or downward),and/or a rolling of a finger (from right to left, left to right, upwardand/or downward) that has made contact with device 100. In someimplementations or circumstances, inadvertent contact with a graphicdoes not select the graphic. For example, a swipe gesture that sweepsover an application icon optionally does not select the correspondingapplication when the gesture corresponding to selection is a tap.

Device 100 optionally also include one or more physical buttons, such as“home” or menu button 204. As described previously, menu button 204 is,optionally, used to navigate to any application 136 in a set ofapplications that are, optionally, executed on device 100.Alternatively, in some embodiments, the menu button is implemented as asoft key in a GUI displayed on touch screen 112.

In some embodiments, device 100 includes touch screen 112, menu button204, push button 206 for powering the device on/off and locking thedevice, volume adjustment button(s) 208, subscriber identity module(SIM) card slot 210, headset jack 212, and docking/charging externalport 124. Push button 206 is, optionally, used to turn the power on/offon the device by depressing the button and holding the button in thedepressed state for a predefined time interval, to lock the device bydepressing the button and releasing the button before the predefinedtime interval has elapsed; and/or to unlock the device or initiate anunlock process. In an alternative embodiment, device 100 also acceptsverbal input for activation or deactivation of some functions throughmicrophone 113. Device 100 also, optionally, includes one or morecontact intensity sensors 165 for detecting intensity of contacts ontouch screen 112 and/or one or more tactile output generators 167 forgenerating tactile outputs for a user of device 100.

FIG. 3 is a block diagram of an exemplary multifunction device with adisplay and a touch-sensitive surface in accordance with someembodiments. Device 300 need not be portable. In some embodiments,device 300 is a laptop computer, a desktop computer, a tablet computer,a multimedia player device, a navigation device, an educational device(such as a child's learning toy), a gaming system, or a control device(e.g., a home or industrial controller). Device 300 typically includesone or more processing units (CPUs) 310, one or more network or othercommunications interfaces 360, memory 370, and one or more communicationbuses 320 for interconnecting these components. Communication buses 320optionally include circuitry (sometimes called a chipset) thatinterconnects and controls communications between system components.Device 300 includes input/output (I/O) interface 330 comprising display340, which is typically a touch screen display. I/O interface 330 alsooptionally includes a keyboard and/or mouse (or other pointing device)350 and touchpad 355, tactile output generator 357 for generatingtactile outputs on device 300 (e.g., similar to tactile outputgenerator(s) 167 described above with reference to FIG. 1A), sensors 359(e.g., optical, acceleration, proximity, touch-sensitive, and/or contactintensity sensors similar to contact intensity sensor(s) 165 describedabove with reference to FIG. 1A). Memory 370 includes high-speed randomaccess memory, such as DRAM, SRAM, DDR RAM, or other random access solidstate memory devices; and optionally includes non-volatile memory, suchas one or more magnetic disk storage devices, optical disk storagedevices, flash memory devices, or other non-volatile solid state storagedevices. Memory 370 optionally includes one or more storage devicesremotely located from CPU(s) 310. In some embodiments, memory 370 storesprograms, modules, and data structures analogous to the programs,modules, and data structures stored in memory 102 of portablemultifunction device 100 (FIG. 1A), or a subset thereof. Furthermore,memory 370 optionally stores additional programs, modules, and datastructures not present in memory 102 of portable multifunction device100. For example, memory 370 of device 300 optionally stores drawingmodule 380, presentation module 382, word processing module 384, websitecreation module 386, disk authoring module 388, and/or spreadsheetmodule 390, while memory 102 of portable multifunction device 100 (FIG.1A) optionally does not store these modules.

Each of the above-identified elements in FIG. 3 is, optionally, storedin one or more of the previously mentioned memory devices. Each of theabove-identified modules corresponds to a set of instructions forperforming a function described above. The above-identified modules orprograms (e.g., sets of instructions) need not be implemented asseparate software programs, procedures, or modules, and thus varioussubsets of these modules are, optionally, combined or otherwiserearranged in various embodiments. In some embodiments, memory 370optionally stores a subset of the modules and data structures identifiedabove. Furthermore, memory 370 optionally stores additional modules anddata structures not described above.

Attention is now directed towards embodiments of user interfaces thatare, optionally, implemented on, for example, portable multifunctiondevice 100.

FIG. 4A illustrates an exemplary user interface for a menu ofapplications on portable multifunction device 100 in accordance withsome embodiments. Similar user interfaces are, optionally, implementedon device 300. In some embodiments, user interface 400 includes thefollowing elements, or a subset or superset thereof:

-   -   Signal strength indicator(s) 402 for wireless communication(s),        such as cellular and Wi-Fi signals;    -   Time 404;    -   Bluetooth indicator 405;    -   Battery status indicator 406;    -   Tray 408 with icons for frequently used applications, such as:        -   Icon 416 for telephone module 138, labeled “Phone,” which            optionally includes an indicator 414 of the number of missed            calls or voicemail messages;        -   Icon 418 for e-mail client module 140, labeled “Mail,” which            optionally includes an indicator 410 of the number of unread            e-mails;        -   Icon 420 for browser module 147, labeled “Browser;” and        -   Icon 422 for video and music player module 152, also            referred to as iPod (trademark of Apple Inc.) module 152,            labeled “iPod;” and    -   Icons for other applications, such as:        -   Icon 424 for IM module 141, labeled “Messages;”        -   Icon 426 for calendar module 148, labeled “Calendar;”        -   Icon 428 for image management module 144, labeled “Photos;”        -   Icon 430 for camera module 143, labeled “Camera;”        -   Icon 432 for online video module 155, labeled “Online            Video,”        -   Icon 434 for stocks widget 149-2, labeled “Stocks;”        -   Icon 436 for map module 154, labeled “Maps;”        -   Icon 438 for weather widget 149-1, labeled “Weather;”        -   Icon 440 for alarm clock widget 149-4, labeled “Clock;”        -   Icon 442 for workout support module 142, labeled “Workout            Support;”        -   Icon 444 for notes module 153, labeled “Notes;” and        -   Icon 446 for a settings application or module, labeled            “Settings,” which provides access to settings for device 100            and its various applications 136.

It should be noted that the icon labels illustrated in FIG. 4A aremerely exemplary. For example, icon 422 for video and music playermodule 152 is labeled “Music” or “Music Player.” Other labels are,optionally, used for various application icons. In some embodiments, alabel for a respective application icon includes a name of anapplication corresponding to the respective application icon. In someembodiments, a label for a particular application icon is distinct froma name of an application corresponding to the particular applicationicon.

FIG. 4B illustrates an exemplary user interface on a device (e.g.,device 300, FIG. 3) with a touch-sensitive surface 451 (e.g., a tabletor touchpad 355, FIG. 3) that is separate from the display 450 (e.g.,touch screen display 112). Device 300 also, optionally, includes one ormore contact intensity sensors (e.g., one or more of sensors 359) fordetecting intensity of contacts on touch-sensitive surface 451 and/orone or more tactile output generators 357 for generating tactile outputsfor a user of device 300.

Although some of the examples that follow will be given with referenceto inputs on touch screen display 112 (where the touch-sensitive surfaceand the display are combined), in some embodiments, the device detectsinputs on a touch-sensitive surface that is separate from the display,as shown in FIG. 4B. In some embodiments, the touch-sensitive surface(e.g., 451 in FIG. 4B) has a primary axis (e.g., 452 in FIG. 4B) thatcorresponds to a primary axis (e.g., 453 in FIG. 4B) on the display(e.g., 450). In accordance with these embodiments, the device detectscontacts (e.g., 460 and 462 in FIG. 4B) with the touch-sensitive surface451 at locations that correspond to respective locations on the display(e.g., in FIG. 4B, 460 corresponds to 468 and 462 corresponds to 470).In this way, user inputs (e.g., contacts 460 and 462, and movementsthereof) detected by the device on the touch-sensitive surface (e.g.,451 in FIG. 4B) are used by the device to manipulate the user interfaceon the display (e.g., 450 in FIG. 4B) of the multifunction device whenthe touch-sensitive surface is separate from the display. It should beunderstood that similar methods are, optionally, used for other userinterfaces described herein.

Additionally, while the following examples are given primarily withreference to finger inputs (e.g., finger contacts, finger tap gestures,finger swipe gestures), it should be understood that, in someembodiments, one or more of the finger inputs are replaced with inputfrom another input device (e.g., a mouse-based input or stylus input).For example, a swipe gesture is, optionally, replaced with a mouse click(e.g., instead of a contact) followed by movement of the cursor alongthe path of the swipe (e.g., instead of movement of the contact). Asanother example, a tap gesture is, optionally, replaced with a mouseclick while the cursor is located over the location of the tap gesture(e.g., instead of detection of the contact followed by ceasing to detectthe contact). Similarly, when multiple user inputs are simultaneouslydetected, it should be understood that multiple computer mice are,optionally, used simultaneously, or a mouse and finger contacts are,optionally, used simultaneously.

FIG. 5A illustrates exemplary personal electronic device 500. Device 500includes body 502. In some embodiments, device 500 can include some orall of the features described with respect to devices 100 and 300 (e.g.,FIGS. 1A-4B). In some embodiments, device 500 has touch-sensitivedisplay screen 504, hereafter touch screen 504. Alternatively, or inaddition to touch screen 504, device 500 has a display and atouch-sensitive surface. As with devices 100 and 300, in someembodiments, touch screen 504 (or the touch-sensitive surface)optionally includes one or more intensity sensors for detectingintensity of contacts (e.g., touches) being applied. The one or moreintensity sensors of touch screen 504 (or the touch-sensitive surface)can provide output data that represents the intensity of touches. Theuser interface of device 500 can respond to touches based on theirintensity, meaning that touches of different intensities can invokedifferent user interface operations on device 500.

Exemplary techniques for detecting and processing touch intensity arefound, for example, in related applications: International PatentApplication Serial No. PCT/US2013/040061, titled “Device, Method, andGraphical User Interface for Displaying User Interface ObjectsCorresponding to an Application,” filed May 8, 2013, published as WIPOPublication No. WO/2013/169849, and International Patent ApplicationSerial No. PCT/US2013/069483, titled “Device, Method, and Graphical UserInterface for Transitioning Between Touch Input to Display OutputRelationships,” filed Nov. 11, 2013, published as WIPO Publication No.WO/2014/105276, each of which is hereby incorporated by reference intheir entirety.

In some embodiments, device 500 has one or more input mechanisms 506 and508. Input mechanisms 506 and 508, if included, can be physical.Examples of physical input mechanisms include push buttons and rotatablemechanisms. In some embodiments, device 500 has one or more attachmentmechanisms. Such attachment mechanisms, if included, can permitattachment of device 500 with, for example, hats, eyewear, earrings,necklaces, shirts, jackets, bracelets, watch straps, chains, trousers,belts, shoes, purses, backpacks, and so forth. These attachmentmechanisms permit device 500 to be worn by a user.

FIG. 5B depicts exemplary personal electronic device 500. In someembodiments, device 500 can include some or all of the componentsdescribed with respect to FIGS. 1A, 1B, and 3. Device 500 has bus 512that operatively couples I/O section 514 with one or more computerprocessors 516 and memory 518. I/O section 514 can be connected todisplay 504, which can have touch-sensitive component 522 and,optionally, intensity sensor 524 (e.g., contact intensity sensor). Inaddition, I/O section 514 can be connected with communication unit 530for receiving application and operating system data, using Wi-Fi,Bluetooth, near field communication (NFC), cellular, and/or otherwireless communication techniques. Device 500 can include inputmechanisms 506 and/or 508. Input mechanism 506 is, optionally, arotatable input device or a depressible and rotatable input device, forexample. Input mechanism 508 is, optionally, a button, in some examples.

Input mechanism 508 is, optionally, a microphone, in some examples.Personal electronic device 500 optionally includes various sensors, suchas GPS sensor 532, accelerometer 534, directional sensor 540 (e.g.,compass), gyroscope 536, motion sensor 538, and/or a combinationthereof, all of which can be operatively connected to I/O section 514.

Memory 518 of personal electronic device 500 can include one or morenon-transitory computer-readable storage mediums, for storingcomputer-executable instructions, which, when executed by one or morecomputer processors 516, for example, can cause the computer processorsto perform the techniques described below, including processes 700(FIGS. 7A-7D), 900 (FIGS. 9A-9B), 1100 (FIGS. 11A-11C), 1300 (FIGS.13A-13B), and 1500 (FIGS. 15A-15C). A computer-readable storage mediumcan be any medium that can tangibly contain or store computer-executableinstructions for use by or in connection with the instruction executionsystem, apparatus, or device. In some examples, the storage medium is atransitory computer-readable storage medium. In some examples, thestorage medium is a non-transitory computer-readable storage medium. Thenon-transitory computer-readable storage medium can include, but is notlimited to, magnetic, optical, and/or semiconductor storages. Examplesof such storage include magnetic disks, optical discs based on CD, DVD,or Blu-ray technologies, as well as persistent solid-state memory suchas flash, solid-state drives, and the like. Personal electronic device500 is not limited to the components and configuration of FIG. 5B, butcan include other or additional components in multiple configurations.

As used here, the term “affordance” refers to a user-interactivegraphical user interface object that is, optionally, displayed on thedisplay screen of devices 100, 300, and/or 500 (FIGS. 1A, 3, and 5A-5B).For example, an image (e.g., icon), a button, and text (e.g., hyperlink)each optionally constitute an affordance.

As used herein, the term “focus selector” refers to an input elementthat indicates a current part of a user interface with which a user isinteracting. In some implementations that include a cursor or otherlocation marker, the cursor acts as a “focus selector” so that when aninput (e.g., a press input) is detected on a touch-sensitive surface(e.g., touchpad 355 in FIG. 3 or touch-sensitive surface 451 in FIG. 4B)while the cursor is over a particular user interface element (e.g., abutton, window, slider, or other user interface element), the particularuser interface element is adjusted in accordance with the detectedinput. In some implementations that include a touch screen display(e.g., touch-sensitive display system 112 in FIG. 1A or touch screen 112in FIG. 4A) that enables direct interaction with user interface elementson the touch screen display, a detected contact on the touch screen actsas a “focus selector” so that when an input (e.g., a press input by thecontact) is detected on the touch screen display at a location of aparticular user interface element (e.g., a button, window, slider, orother user interface element), the particular user interface element isadjusted in accordance with the detected input. In some implementations,focus is moved from one region of a user interface to another region ofthe user interface without corresponding movement of a cursor ormovement of a contact on a touch screen display (e.g., by using a tabkey or arrow keys to move focus from one button to another button); inthese implementations, the focus selector moves in accordance withmovement of focus between different regions of the user interface.Without regard to the specific form taken by the focus selector, thefocus selector is generally the user interface element (or contact on atouch screen display) that is controlled by the user so as tocommunicate the user's intended interaction with the user interface(e.g., by indicating, to the device, the element of the user interfacewith which the user is intending to interact). For example, the locationof a focus selector (e.g., a cursor, a contact, or a selection box) overa respective button while a press input is detected on thetouch-sensitive surface (e.g., a touchpad or touch screen) will indicatethat the user is intending to activate the respective button (as opposedto other user interface elements shown on a display of the device).

As used in the specification and claims, the term “characteristicintensity” of a contact refers to a characteristic of the contact basedon one or more intensities of the contact. In some embodiments, thecharacteristic intensity is based on multiple intensity samples. Thecharacteristic intensity is, optionally, based on a predefined number ofintensity samples, or a set of intensity samples collected during apredetermined time period (e.g., 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10seconds) relative to a predefined event (e.g., after detecting thecontact, prior to detecting liftoff of the contact, before or afterdetecting a start of movement of the contact, prior to detecting an endof the contact, before or after detecting an increase in intensity ofthe contact, and/or before or after detecting a decrease in intensity ofthe contact). A characteristic intensity of a contact is, optionally,based on one or more of: a maximum value of the intensities of thecontact, a mean value of the intensities of the contact, an averagevalue of the intensities of the contact, a top 10 percentile value ofthe intensities of the contact, a value at the half maximum of theintensities of the contact, a value at the 90 percent maximum of theintensities of the contact, or the like. In some embodiments, theduration of the contact is used in determining the characteristicintensity (e.g., when the characteristic intensity is an average of theintensity of the contact over time). In some embodiments, thecharacteristic intensity is compared to a set of one or more intensitythresholds to determine whether an operation has been performed by auser. For example, the set of one or more intensity thresholdsoptionally includes a first intensity threshold and a second intensitythreshold. In this example, a contact with a characteristic intensitythat does not exceed the first threshold results in a first operation, acontact with a characteristic intensity that exceeds the first intensitythreshold and does not exceed the second intensity threshold results ina second operation, and a contact with a characteristic intensity thatexceeds the second threshold results in a third operation. In someembodiments, a comparison between the characteristic intensity and oneor more thresholds is used to determine whether or not to perform one ormore operations (e.g., whether to perform a respective operation orforgo performing the respective operation), rather than being used todetermine whether to perform a first operation or a second operation.

In some embodiments, a portion of a gesture is identified for purposesof determining a characteristic intensity. For example, atouch-sensitive surface optionally receives a continuous swipe contacttransitioning from a start location and reaching an end location, atwhich point the intensity of the contact increases. In this example, thecharacteristic intensity of the contact at the end location is,optionally, based on only a portion of the continuous swipe contact, andnot the entire swipe contact (e.g., only the portion of the swipecontact at the end location). In some embodiments, a smoothing algorithmis, optionally, applied to the intensities of the swipe contact prior todetermining the characteristic intensity of the contact. For example,the smoothing algorithm optionally includes one or more of: anunweighted sliding-average smoothing algorithm, a triangular smoothingalgorithm, a median filter smoothing algorithm, and/or an exponentialsmoothing algorithm. In some circumstances, these smoothing algorithmseliminate narrow spikes or dips in the intensities of the swipe contactfor purposes of determining a characteristic intensity.

The intensity of a contact on the touch-sensitive surface is,optionally, characterized relative to one or more intensity thresholds,such as a contact-detection intensity threshold, a light press intensitythreshold, a deep press intensity threshold, and/or one or more otherintensity thresholds. In some embodiments, the light press intensitythreshold corresponds to an intensity at which the device will performoperations typically associated with clicking a button of a physicalmouse or a trackpad. In some embodiments, the deep press intensitythreshold corresponds to an intensity at which the device will performoperations that are different from operations typically associated withclicking a button of a physical mouse or a trackpad. In someembodiments, when a contact is detected with a characteristic intensitybelow the light press intensity threshold (e.g., and above a nominalcontact-detection intensity threshold below which the contact is nolonger detected), the device will move a focus selector in accordancewith movement of the contact on the touch-sensitive surface withoutperforming an operation associated with the light press intensitythreshold or the deep press intensity threshold. Generally, unlessotherwise stated, these intensity thresholds are consistent betweendifferent sets of user interface figures.

An increase of characteristic intensity of the contact from an intensitybelow the light press intensity threshold to an intensity between thelight press intensity threshold and the deep press intensity thresholdis sometimes referred to as a “light press” input. An increase ofcharacteristic intensity of the contact from an intensity below the deeppress intensity threshold to an intensity above the deep press intensitythreshold is sometimes referred to as a “deep press” input. An increaseof characteristic intensity of the contact from an intensity below thecontact-detection intensity threshold to an intensity between thecontact-detection intensity threshold and the light press intensitythreshold is sometimes referred to as detecting the contact on thetouch-surface. A decrease of characteristic intensity of the contactfrom an intensity above the contact-detection intensity threshold to anintensity below the contact-detection intensity threshold is sometimesreferred to as detecting liftoff of the contact from the touch-surface.In some embodiments, the contact-detection intensity threshold is zero.In some embodiments, the contact-detection intensity threshold isgreater than zero.

In some embodiments described herein, one or more operations areperformed in response to detecting a gesture that includes a respectivepress input or in response to detecting the respective press inputperformed with a respective contact (or a plurality of contacts), wherethe respective press input is detected based at least in part ondetecting an increase in intensity of the contact (or plurality ofcontacts) above a press-input intensity threshold. In some embodiments,the respective operation is performed in response to detecting theincrease in intensity of the respective contact above the press-inputintensity threshold (e.g., a “down stroke” of the respective pressinput). In some embodiments, the press input includes an increase inintensity of the respective contact above the press-input intensitythreshold and a subsequent decrease in intensity of the contact belowthe press-input intensity threshold, and the respective operation isperformed in response to detecting the subsequent decrease in intensityof the respective contact below the press-input threshold (e.g., an “upstroke” of the respective press input).

In some embodiments, the device employs intensity hysteresis to avoidaccidental inputs sometimes termed “jitter,” where the device defines orselects a hysteresis intensity threshold with a predefined relationshipto the press-input intensity threshold (e.g., the hysteresis intensitythreshold is X intensity units lower than the press-input intensitythreshold or the hysteresis intensity threshold is 75%, 90%, or somereasonable proportion of the press-input intensity threshold). Thus, insome embodiments, the press input includes an increase in intensity ofthe respective contact above the press-input intensity threshold and asubsequent decrease in intensity of the contact below the hysteresisintensity threshold that corresponds to the press-input intensitythreshold, and the respective operation is performed in response todetecting the subsequent decrease in intensity of the respective contactbelow the hysteresis intensity threshold (e.g., an “up stroke” of therespective press input). Similarly, in some embodiments, the press inputis detected only when the device detects an increase in intensity of thecontact from an intensity at or below the hysteresis intensity thresholdto an intensity at or above the press-input intensity threshold and,optionally, a subsequent decrease in intensity of the contact to anintensity at or below the hysteresis intensity, and the respectiveoperation is performed in response to detecting the press input (e.g.,the increase in intensity of the contact or the decrease in intensity ofthe contact, depending on the circumstances).

For ease of explanation, the descriptions of operations performed inresponse to a press input associated with a press-input intensitythreshold or in response to a gesture including the press input are,optionally, triggered in response to detecting either: an increase inintensity of a contact above the press-input intensity threshold, anincrease in intensity of a contact from an intensity below thehysteresis intensity threshold to an intensity above the press-inputintensity threshold, a decrease in intensity of the contact below thepress-input intensity threshold, and/or a decrease in intensity of thecontact below the hysteresis intensity threshold corresponding to thepress-input intensity threshold. Additionally, in examples where anoperation is described as being performed in response to detecting adecrease in intensity of a contact below the press-input intensitythreshold, the operation is, optionally, performed in response todetecting a decrease in intensity of the contact below a hysteresisintensity threshold corresponding to, and lower than, the press-inputintensity threshold.

Attention is now directed towards embodiments of user interfaces (“UI”)and associated processes that are implemented on an electronic device,such as portable multifunction device 100, device 300, or device 500.

FIGS. 6A-6AF illustrate exemplary user interfaces associated withcontent-based tactile outputs, in accordance with some embodiments. Theuser interfaces in these figures are used to illustrate the processesdescribed below, including the processes in FIGS. 7A-7D.

FIG. 6A illustrates electronic device 600 (e.g., a smartwatch) with adisplay 602, a input element 604 (e.g., a rotatable input device that isrotatable relative to a housing of the device; a rotatable inputdevice/mechanism that includes a fixed socket and a rotatable component(e.g., a crown) attached to or affixed to a shaft, where the rotatablecomponent and shaft rotate together in the fixed socket; a rotatableinput device/mechanism that includes a rotatable component (e.g., acrown) that rotates relative to a fixed component (e.g., a fixed shaft);a rotatable input device/mechanism that rotates, in response to arotational input, on an axis such that the direction of the rotation isparallel to the display of the electronic device; a rotatable inputdevice/mechanism that can detect rotational input (e.g., via atouch-detection mechanism) without the device itself being physicallyrotated; a rotatable and press-able input device; a rotatable crown),and one or more tactile output generators (e.g., incorporated withinrotatable input element 604 and/or within a housing of the device). Insome embodiments, electronic device 600 also includes an input button606 (e.g., a mechanical input button, a press-able input button).

Electronic device 600 includes one or more tactile output generatorsthat are enclosed in and/or integrated with input element 604 and/or ahousing of the device, or otherwise are mechanically coupled eitherdirectly or indirectly such that tactile outputs generated by thetactile output generators generate tactile outputs at input element 604.The one or more tactile output generators generate different types oftactile output sequences, as described below in Table 1, based on thetype of content (e.g., continuous content, such as continuous text, ordiscrete content, such as platters, affordances, buttons) beingdisplayed and navigated/scrolled/adjusted on display 602 of the device.In some embodiments, the one or more tactile output generators alsogenerate different types of audio output sequences that are associatedwith the different types of tactile output sequences. Tactile outputsequences 610, 620, 630, and 1220 described herein are generated by theone or more tactile output generators described above. In someembodiments, the audio output sequences described herein that areassociated with tactile output sequences 610, 620, 630, and 1220 arealso generated by the one or more tactile output generators describedabove.

In some embodiments, a particular type of tactile output sequencegenerated by the one or more tactile output generators of the devicedescribed directly above corresponds to a particular tactile outputpattern. For example, a tactile output pattern specifies characteristicsof a tactile output, such as the amplitude of the tactile output, theshape of a movement waveform of the tactile output, the frequency of thetactile output, and/or the duration of the tactile output. When tactileoutputs with different tactile output patterns are generated by a device(e.g., via one or more tactile output generators that move a moveablemass to generate tactile outputs), the tactile outputs may invokedifferent haptic sensations in a user holding or touching the device.While the sensation of the user is based on the user's perception of thetactile output, most users will be able to identify changes in waveform,frequency, and amplitude of tactile outputs generated by the device.

More specifically, FIGS. 5C-5E provide a set of sample tactile outputpatterns that may be used, either individually or in combination, eitheras is or through one or more transformations (e.g., modulation,amplification, truncation, etc.), to create suitable haptic feedback invarious scenarios and for various purposes, such as those mentionedabove and those described with respect to the user interfaces andmethods discussed herein. This example of a palette of tactile outputsshows how a set of three waveforms and eight frequencies can be used toproduce an array of tactile output patterns. In addition to the tactileoutput patterns shown in these figures, each of these tactile outputpatterns is optionally adjusted in amplitude by changing a gain valuefor the tactile output pattern, as shown, for example for FullTap 80 Hz,FullTap 200 Hz, MiniTap 80 Hz, MiniTap 200 Hz, MicroTap 80 Hz, andMicroTap 200 Hz in FIGS. 5F-5H, which are each shown with variantshaving a gain of 1.0, 0.75, 0.5, and 0.25. As shown in FIGS. 5F-5H,changing the gain of a tactile output pattern changes the amplitude ofthe pattern without changing the frequency of the pattern or changingthe shape of the waveform. In some embodiments, changing the frequencyof a tactile output pattern also results in a lower amplitude as sometactile output generators are limited by how much force can be appliedto the moveable mass and thus higher frequency movements of the mass areconstrained to lower amplitudes to ensure that the acceleration neededto create the waveform does not require force outside of an operationalforce range of the tactile output generator (e.g., the peak amplitudesof the FullTap at 230 Hz, 270 Hz, and 300 Hz are lower than theamplitudes of the FullTap at 80 Hz, 100 Hz, 125 Hz, and 200 Hz).

FIGS. 5C-5H show tactile output patterns that have a particularwaveform. The waveform of a tactile output pattern represents thepattern of physical displacements relative to a neutral position (e.g.,Xzero) versus time that a moveable mass goes through to generate atactile output with that tactile output pattern. For example, a firstset of tactile output patterns shown in FIG. 5C (e.g., tactile outputpatterns of a “FullTap”) each have a waveform that includes anoscillation with two complete cycles (e.g., an oscillation that startsand ends in a neutral position and crosses the neutral position threetimes). A second set of tactile output patterns shown in FIG. 5D (e.g.,tactile output patterns of a “MiniTap”) each have a waveform thatincludes an oscillation that includes one complete cycle (e.g., anoscillation that starts and ends in a neutral position and crosses theneutral position one time). A third set of tactile output patterns shownin FIG. 5E (e.g., tactile output patterns of a “MicroTap”) each have awaveform that includes an oscillation that include one half of acomplete cycle (e.g., an oscillation that starts and ends in a neutralposition and does not cross the neutral position). The waveform of atactile output pattern also includes a start buffer and an end bufferthat represent the gradual speeding up and slowing down of the moveablemass at the start and at the end of the tactile output. The examplewaveforms shown in FIGS. 5C-5H include Xmin and Xmax values whichrepresent the maximum and minimum extent of movement of the moveablemass. For larger electronic devices with larger moveable masses, theremay be larger or smaller minimum and maximum extents of movement of themass. The examples shown in FIGS. 5C-5H describe movement of a mass inone dimension, however similar principles would also apply to movementof a moveable mass in two or three dimensions.

As shown in FIGS. 5C-5E, each tactile output pattern also has acorresponding characteristic frequency that affects the “pitch” of ahaptic sensation that is felt by a user from a tactile output with thatcharacteristic frequency. For a continuous tactile output, thecharacteristic frequency represents the number of cycles that arecompleted within a given period of time (e.g., cycles per second) by themoveable mass of the tactile output generator. For a discrete tactileoutput, a discrete output signal (e.g., with 0.5, 1, or 2 cycles) isgenerated, and the characteristic frequency value specifies how fast themoveable mass needs to move to generate a tactile output with thatcharacteristic frequency. As shown in FIGS. 5C-5H, for each type oftactile output (e.g., as defined by a respective waveform, such asFullTap, MiniTap, or MicroTap), a higher frequency value corresponds tofaster movement(s) by the moveable mass, and hence, in general, ashorter time to complete the tactile output (e.g., including the time tocomplete the required number of cycle(s) for the discrete tactileoutput, plus a start and an end buffer time). For example, a FullTapwith a characteristic frequency of 80 Hz takes longer to complete thanFullTap with a characteristic frequency of 100 Hz (e.g., 35.4 ms vs.28.3 ms in FIG. 5C). In addition, for a given frequency, a tactileoutput with more cycles in its waveform at a respective frequency takeslonger to complete than a tactile output with fewer cycles its waveformat the same respective frequency. For example, a FullTap at 150 Hz takeslonger to complete than a MiniTap at 150 Hz (e.g., 19.4 ms vs. 12.8 ms),and a MiniTap at 150 Hz takes longer to complete than a MicroTap at 150Hz (e.g., 12.8 ms vs. 9.4 ms). However, for tactile output patterns withdifferent frequencies this rule may not apply (e.g., tactile outputswith more cycles but a higher frequency may take a shorter amount oftime to complete than tactile outputs with fewer cycles but a lowerfrequency, and vice versa). For example, at 300 Hz, a FullTap takes aslong as a MiniTap (e.g., 9.9 ms).

As shown in FIGS. 5C-5E, a tactile output pattern also has acharacteristic amplitude that affects the amount of energy that iscontained in a tactile signal, or a “strength” of a haptic sensationthat may be felt by a user through a tactile output with thatcharacteristic amplitude. In some embodiments, the characteristicamplitude of a tactile output pattern refers to an absolute ornormalized value that represents the maximum displacement of themoveable mass from a neutral position when generating the tactileoutput. In some embodiments, the characteristic amplitude of a tactileoutput pattern is adjustable, e.g., by a fixed or dynamically determinedgain factor (e.g., a value between 0 and 1), in accordance with variousconditions (e.g., customized based on user interface contexts andbehaviors) and/or preconfigured metrics (e.g., input-based metrics,and/or user-interface-based metrics). In some embodiments, aninput-based metric (e.g., an intensity-change metric or an input-speedmetric) measures a characteristic of an input (e.g., a rate of change ofa characteristic intensity of a contact in a press input or a rate ofmovement of the contact across a touch-sensitive surface) during theinput that triggers generation of a tactile output. In some embodiments,a user-interface-based metric (e.g., a speed-across-boundary metric)measures a characteristic of a user interface element (e.g., a speed ofmovement of the element across a hidden or visible boundary in a userinterface) during the user interface change that triggers generation ofthe tactile output. In some embodiments, the characteristic amplitude ofa tactile output pattern may be modulated by an “envelope” and the peaksof adjacent cycles may have different amplitudes, where one of thewaveforms shown above is further modified by multiplication by anenvelope parameter that changes over time (e.g., from 0 to 1) togradually adjust amplitude of portions of the tactile output over timeas the tactile output is being generated.

Although specific frequencies, amplitudes, and waveforms are representedin the sample tactile output patterns in FIGS. 5C-5E for illustrativepurposes, tactile output patterns with other frequencies, amplitudes,and waveforms may be used for similar purposes. For example, waveformsthat have between 0.5 to 4 cycles can be used. Other frequencies in therange of 60 Hz-400 Hz may be used as well. Table 1 below providesexamples of tactile output/haptic feedback behaviors and configurations,and examples of their use with respect to the user interfaces formanaging content-based tactile outputs that are illustrated anddescribed herein.

TABLE 1 Textural Associated Type of Tactile (continuous) or Content UsedOutput Sequence Waveform Discrete Type Examples “Major” MiniTap at 180Hz Discrete Discrete Tactile Output Sequence 610 “Minor” MicroTap at 200Hz Textural Continuous Tactile Output Sequence 620 “Major-reduced”MiniTap at 200 Hz Discrete Discrete Tactile Output Sequence 1220 “Limit”MiniTap at 180 Hz Discrete End-of- Tactile Output Content Sequence 630

Returning to the exemplary user interfaces of FIGS. 6A-6AF, in FIG. 6A,electronic device 600 displays, on display 602, a user interface 608 ofa workout application that includes a plurality of platters (e.g., apredefined unit of a user interface that is a visually discrete andselectable user interface object, item, or element that is separate infunctionality and/or purpose from other platters within the userinterface, and is visually distinct and/or distinguishable from otherplatters and other user interface objects, items, or elements within theuser interface), including a platter 608A and a platter 608B. Whiledisplaying user interface 608 showing platters 608A and 608B, electronicdevice 600 detects, via input element 604, a rotational input 601 (e.g.,in a clockwise direction).

In FIG. 6B, in response to detecting rotational input 601 on inputelement 604, electronic device 600 scrolls (e.g., in the downwardsdirection in accordance with the direction of the rotational input,which is in a clockwise direction) the plurality of platters of userinterface 608, including platters 608A and 608B. In FIG. 6B, whilescrolling the plurality of platters of user interface 608 in response todetecting rotational input 601, electronic device 600 continues todetect, via input element 604, rotational input 601.

Electronic device 600 continues to scroll the plurality of platters,including platters 608A and 608B, of user interface 608 while continuingto detect rotational input 601 on input element 604. In FIG. 6C, as theplurality of platters are being scrolled, platter 608A slides off of anedge (e.g., the top edge) of the display while platter 608B is moved toa focal region (e.g., the center region, the middle region) of thedisplay. In some embodiments, a user interface item or element, such asa platter, is deemed to have “reached” the focal region when a focalpoint of the user interface item or element is moved to the focalregion. In some embodiments, a user interface item or element, such as aplatter, is deemed to have “reached” the focal region when an edge(e.g., the top or bottom edge) of the user interface item/element ismoved to the focal region. In some embodiments, upon reaching the focalregion, a user interface item or element “snaps” to the focal region.

In FIG. 6C, platter 608B is moved towards and “snaps” to the focalregion of the display. Upon platter 608B “snapping” to the focal regionof the display, electronic device 600 generates a tactile outputsequence 610 (e.g., a “major” tactile output, as described in Table 1).As described in greater detail below, the type of tactile output that isgenerated is based on the type of user interface item or element that iscurrently being moved, navigated, and/or manipulated on the display. Insome embodiments, electronic device 600 also generates an audio outputsequence (e.g., having a first type of audio pattern), via the one ormore tactile output generators, associated with tactile output sequence610.

Electronic device 600 continues to scroll the plurality of platters,including platter 608B, of user interface 608 while continuing to detectrotational input 601 on input element 604. In FIG. 6D, as the pluralityof platters are being scrolled, platter 608B begins to slide off of anedge (e.g., the top edge) of the display while a platter 608C is movedon to display from an opposite edge (e.g., the bottom edge) of thedisplay.

Electronic device 600 continues to scroll the plurality of platters,including platter 608C, of user interface 608 while continuing to detectrotational input 601 on input element 604. In FIG. 6E, as the pluralityof platters are being scrolled, platter 608B slides off of an edge(e.g., the top edge) of the display while platter 608C is moved to thefocal region (e.g., the center region, the middle region) of thedisplay.

In FIG. 6E, platter 608C is moved towards and “snaps” to the focalregion of the display. Upon platter 608C “snapping” to the focal regionof the display, electronic device 600 again generates tactile outputsequence 610 (e.g., a “major” tactile output, as described in greaterdetail above in Table 1). In some embodiments, electronic device 600also generates the audio output sequence (e.g., having a first type ofaudio pattern) associated with tactile output sequence 610.

In FIG. 6F, electronic device 600 receives (e.g., via a wirelesscommunication radio of the device) a message associated with a messagingapplication (e.g., an email for an email application, a text message fora text messaging application, a chat message or a chat application). Inresponse to receiving the message, electronic device 600 displays, ondisplay, a notification 612 indicating that the message has beenreceived. Additionally, electronic device 600 generates a notificationtactile output 614 notifying that a new message has been received. Insome embodiments, notification tactile output 614 is generated via oneor more tactile output generates that are different from the one or moretactile output generators that generate tactile output sequence 610. Insome embodiments, notification tactile output 614 and tactile outputsequence 610 are generated by the same one or more tactile outputgenerators.

In FIG. 6G, subsequent to displaying, on display 602, notification 612corresponding to the received message (e.g., an email message),electronic device 600 detects (e.g., via a touch-sensitive surface ofdisplay 602) a user selection 603 of notification 612.

In FIG. 6H, in response to detecting user selection 603 of notification612, electronic device 600 displays, on display 602, a user interface616 of an email application corresponding to the received message andtext 618 (e.g., continuous text content of the received message) of thereceived message. As shown in FIG. 6H, text 618 of the received messagecomprises continuous text that cannot simultaneously shown in itsentirety on the display, and thus must be scrolled for a user to viewthe remaining portions of the content of the message.

In FIG. 6H, while displaying, in user interface 616 of the emailapplication, text 618 of the received message, electronic device 600detects, via input element 604, a rotational input 605 (e.g., in aclockwise direction). In response to and while detecting rotationalinput 605 on input element 604, electronic device 600 scrolls text 618on the display.

While scrolling text 618 on the display, electronic device 600generates, via the one or more tactile output generators, a tactileoutput sequence 620 (e.g., a “minor” tactile output, as described inTable 1). In some embodiments, electronic device 600 also generates anaudio output sequence (e.g., having a second type of audio pattern)associated with tactile output sequence 620.

FIGS. 6I-6J illustrate electronic device 600 continuing to detectrotational input 605 on input element 604 and, in response to and whiledetecting rotational input 605, scrolling (e.g., downward) text 618 ofthe received message on the display. As shown in FIGS. 6I-6J, whiledetecting rotational input 605 and scrolling text 618, electronic device600 continues generating tactile output sequence 620.

In FIG. 6K, after continuing to scroll text 618 of the received messagein response to and while detecting rotational input 605 on input element604, the end of the continuous text constituting text 618 is reached. Asshown in FIG. 6K, electronic device 600 displays, in user interface 616of the email application below text 618, an affordance 622 (e.g., areply button) for performing a function associated with the receivedmessage. In some embodiments, upon displaying (e.g., fully displaying)affordance 622 on the display, electronic device 600 generates, via theone or more tactile output generators, tactile output sequence 610 and,in some embodiments, the audio output sequence associated with thetactile output sequence 610, first described above with reference toFIG. 6E. Alternatively, in some embodiments, electronic device 600generates tactile output sequence 610 when affordance 622 “snaps” to thedisplay from an edge (e.g., the bottom edge) of the display.Alternatively, in some embodiments, electronic device 600 generatestactile output sequence 610 when affordance 622 is moved to (e.g., and“snaps” to) a focal region of the display (e.g., a center region of thedisplay).

In FIG. 6L, electronic device 600 is no longer detecting rotationalinput 605 but is still displaying, on display 602, bottom portion oftext 618 and affordance 622 of user interface 616.

In FIG. 6M, while displaying bottom portion of text 618 and affordance622 of user interface 616, electronic device 600 detects, via inputelement 604, a rotational input 607 (e.g., in a clockwise direction). Inresponse to detecting and while continuing to detect rotational input607, electronic device 600 scrolls (e.g., in a downwards direction inaccordance with the direction of rotational input 607) user interface616.

In FIG. 6N, while scrolling user interface 616 in response to rotationalinput 607 on input element 604, electronic device 600 displays, belowaffordance 622 in user interface 616, an affordance 624 (e.g., a deletebutton) for performing another function associated with the receivedmessage, and is the same type of user interface element (e.g., anaffordance of the email application) as affordance 622. In someembodiments, upon displaying (e.g., fully displaying) affordance 624 onthe display, electronic device 600 generates, via the one or moretactile output generators, tactile output sequence 610 and, in someembodiments, the audio output sequence associated with tactile outputsequence 610. Alternatively, in some embodiments, electronic device 600generates tactile output sequence 610 when affordance 622 “snaps” to thedisplay from an edge (e.g., the bottom edge) of the display.Alternatively, in some embodiments, electronic device 600 generatestactile output sequence 610 when affordance 622 is moved to (e.g., and“snaps” to) a focal region of the display (e.g., a center region of thedisplay).

In FIG. 6O, while continuing to scroll user interface 616 in response torotational input 607 on input element 604, electronic device 600displays, below affordance 624 in user interface 616, an affordance 626(e.g., a dismiss button) for performing another function associated withthe received message, and is the same type of user interface element(e.g., an affordance of the email application) as affordances 622 and624. Further, affordance 626 is a terminus user interface element ofuser interface 616.

In some embodiments, upon displaying (e.g., fully displaying) affordance626 on the display, as shown in FIG. 6O, electronic device generates,via the one or more tactile output generators, a tactile output sequence630 (e.g., a “limit” tactile output, as described in Table 1). In someembodiments, electronic device 600 also generates an audio outputsequence (e.g., having a third type of audio pattern) associated withtactile output sequence 630.

Alternatively, as with affordances 622 and 624, in some embodiments,upon displaying (e.g., fully displaying) affordance 626 on the display,electronic device 600 generates, via the one or more tactile outputgenerators, tactile output sequence 610 and, in some embodiments, theaudio output sequence associated with tactile output sequence 610.Alternatively, in some embodiments, electronic device 600 generatestactile output sequence 610 when affordance 622 “snaps” to the displayfrom an edge (e.g., the bottom edge) of the display. Alternatively, insome embodiments, electronic device 600 generates tactile outputsequence 610 when affordance 622 is moved to (e.g., and “snaps” to) afocal region of the display (e.g., a center region of the display).

In FIG. 6O, electronic device 600 continues detecting, even after fullydisplaying the terminus user interface element (e.g., affordance 626) ofuser interface 616 and generating tactile output sequence 630,rotational input 607 on input element 604. As a result of continuedrotational input 607 on input element 604, user interface 616 is furtherscrolled beyond the terminus user interface element (e.g., affordance626) such that an empty region beyond affordance 626 is shown, as shownin FIG. 6P (e.g., user interface 616 is “stretched” beyond its terminuselement).

After scrolling beyond affordance 626, electronic device 600 no longerdetects rotational input 607. FIGS. 6Q-6R illustrate user interface 616,in response to no longer detecting rotational input 607, moving back(e.g., “bouncing back”) to its initial position in FIG. 6O prior tobeing stretched beyond its terminus user interface element (e.g.,affordance 626). For the sake of convenience, the stretch and subsequentbounce-back effect of the user interface illustrated in FIGS. 6O-6R isreferred to from hereon as the “rubberbanding” effect. In someembodiments, after generating tactile output sequence 630 upon reachingthe terminus user interface element, electronic device 600 does notgenerate a tactile output during a subsequent rubberbanding movement ofthe user interface.

FIG. 6S illustrates electronic device 600 displaying, on display 602, amiddle portion of text 618 of the received message within user interface616 of the email application. While displaying text 618, electronicdevice 600 detects a non-rotational input 609 (e.g., a press input, apress-and-hold input) on input element 604.

In FIG. 6T, in response to detecting non-rotational input 609 on inputelement 604, electronic device 600 displays, on display 602, a userinterface 628 (e.g., a time user interface, a home use interface, a mainuser interface) different from user interface 616. Further, electronicdevice 600 does not generate a tactile output in response tonon-rotational input 609 on input element 604.

FIGS. 6U-6AF illustrate electronic device 600 navigating through a solarclock user interface 632 in response to rotational inputs on inputelement 604. As shown in FIG. 6U, solar clock user interface 632includes a solar path 634 and a solar indicator 636 (e.g., a curved lineindicative of the position of the sun during the course of a day). InFIG. 6U, while displaying solar clock user interface 632, electronicdevice 600 detects, via input element 604, a rotational input 611 (e.g.,in a clockwise direction).

In FIG. 6V, while detecting rotational input 611 on input element 604,electronic device 600 moves solar indicator 636 along solar path 634 ina forward direction and generates (e.g., via the one or more tactileoutput generators of the device) tactile output sequence 620 and, insome embodiments, the audio output sequence associated with tactileoutput sequence 620. As also shown in FIG. 6V, while moving solarindicator 636 on solar path 634, electronic device 600 indicates, onsolar path 634, discrete positions 638A-638E corresponding to milestonetimes during the course of a day (e.g., dawn, solar noon, twilight,sunset, dusk).

In FIG. 6W, while continuing to detect rotational input 611 on inputelement 604, electronic device 600 continues moving solar indicator 636along solar path 634 in a forward direction until solar indicator 636 ismoved to position 638C (e.g., solar noon). Upon reaching position 638C,electronic device 600 generates (e.g., via one or more tactile outputgenerators of the device) tactile output sequence 610 and, in someembodiments, the audio output sequence associated with tactile outputsequence 610.

In FIGS. 6X-6Y, while continuing to detect rotational input 611 on inputelement 604, electronic device 600 continues moving solar indicator 636along solar path 634, between discrete positions 638C and 638D, in aforward direction and, while moving solar indicator 636, generates(e.g., via one or more tactile output generators of the device) tactileoutput sequence 620 and, in some embodiments, the audio output sequenceassociated with tactile output sequence 620.

In FIG. 6Z, while continuing to detect rotational input 611 on inputelement 604, electronic device 600 continues moving solar indicator 636along solar path 634 in a forward direction until solar indicator 636 ismoved to position 638D (e.g., sunset). Upon reaching position 638D,electronic device 600 generates (e.g., via one or more tactile outputgenerators of the device,) tactile output sequence 610 and, in someembodiments, the audio output sequence associated with tactile outputsequence 610.

In FIG. 6AA, after reaching position 638D, electronic device 600 detectsrotational input 613 on input element 604 (e.g., in a counter-clockwisedirection). In response to detecting rotational input 613, electronicdevice 600 moves solar indicator 636 along solar path 634, betweendiscrete positions 638C and 638D, in a backwards direction and, whilemoving solar indicator 636, generates (e.g., via one or more tactileoutput generators of the device) tactile output sequence 620 and, insome embodiments, the audio output sequence associated with tactileoutput sequence 620.

In FIG. 6AB, electronic device 600 detects rotational input 615 on inputelement 604 (e.g., in a clockwise direction). In response to detectingrotational input 615, electronic device 600 moves solar indicator 636along solar path 634 back in a forward direction until solar indicator636 is again moved to position 638D (e.g., sunset). Upon reachingposition 638D, electronic device 600 generates, via the one or moretactile output generators, tactile output sequence 610 and, in someembodiments, the audio output sequence associated with tactile outputsequence 610.

In FIG. 6AC, while continuing to detect rotational input 615 on inputelement 604, electronic device 600 continues moving solar indicator 636along solar path 634, between discrete positions 638D and 638E, in aforward direction and, while moving solar indicator 636, generates, viathe one or more tactile output generators, tactile output sequence 620and, in some embodiments, the audio output sequence associated withtactile output sequence 620.

In FIG. 6AD, while continuing to detect rotational input 615 on inputelement 604, electronic device 600 continues moving solar indicator 636along solar path 634 in a forward direction until solar indicator 636 ismoved to position 638E (e.g., Dusk). Upon reaching position 638E,electronic device 600 generates, via the one or more tactile outputgenerators, tactile output sequence 610 and, in some embodiments, theaudio output sequence associated with tactile output sequence 610.

In FIG. 6AE, while continuing to detect rotational input 615 on inputelement 604, electronic device 600 continues moving solar indicator 636along solar path 634 (e.g., past discrete position 638E) in a forwarddirection and, while moving solar indicator 636, generates, via the oneor more tactile output generators, tactile output sequence 620 and, insome embodiments, the audio output sequence associated with tactileoutput sequence 620.

In FIG. 6AF, while continuing to detect rotational input 615 on inputelement 604, electronic device 600 continues moving solar indicator 636along solar path 634 in a forward direction until solar indicator 636 ismoved to position an end position of solar path 634 (e.g., SolarMidnight). Upon reaching the end position of solar path 634, electronicdevice 600 generates, via the one or more tactile output generators,tactile output sequence 610 and, in some embodiments, the audio outputsequence associated with tactile output sequence 610.

FIGS. 7A-7D are a flow diagram illustrating a method for managing userinterfaces associated with content-based tactile outputs, in accordancewith some embodiments. Method 700 is performed at a device (e.g., 100,300, 500, 600) with a display (e.g., display 602), an input element(e.g., 604), and one or more tactile output generators (e.g., the one ormore tactile output generators of electronic device described above withreference to FIGS. 6A-6AF). Some operations in method 700 are,optionally, combined, the orders of some operations are, optionally,changed, and some operations are, optionally, omitted.

As described below, method 700 provides an intuitive way for managinguser interfaces associated with content-based tactile outputs. Themethod reduces the cognitive burden on a user for managing andnavigating user interfaces, thereby creating a more efficienthuman-machine interface. For battery-operated computing devices,enabling a user to navigate user interfaces faster and more efficientlyby providing content-based tactile outputs conserves power and increasesthe time between battery charges.

The electronic device (e.g., 600) displays (702), on the display (e.g.,602), a user interface (e.g., 608, 616, a user interface that includescontinuous content, such as continuous text of a messaging application,and/or discrete content, such as buttons, affordances, rows, platters,paragraphs). In some embodiments, a platter is a predefined unit of auser interface that is a visually discrete and selectable user interfaceobject, item, or element that is separate in functionality and/orpurpose from other platters within the user interface, and is visuallydistinct and/or distinguishable from other platters and other userinterface objects, items, or elements within the user interface.

While displaying the user interface (e.g., 608, 616), the electronicdevice (e.g., 600) detects (704), via the input element (e.g., 604), afirst input (e.g., 601, 605, a rotational input on the input element,where the rotational input is in a clockwise or counter-clockwisedirection).

In response to detecting (706) the first input (e.g., 601, 605), theelectronic device (e.g., 600) navigates (708) through (e.g., scrollsthrough) the user interface (e.g., 608, 616). In response to detecting(706) the first input, the electronic device (e.g., 600) generates(710), via the one or more tactile output generators, tactile output(e.g., 610, 620, a sequence of a number of discrete, individual tactileoutputs) corresponding to the navigation through the user interface.Generating a tactile output in response to a rotational input on aninput element and while navigating through content enables a user toquickly and easily recognize that content on the user interface is beingscrolled and the type of content that is displayed and scrolled on theuser interface, thereby enhancing operability of the device and userefficiency. This in turn enhances the operability of the device andmakes the user-device interface more efficient (e.g., by helping theuser to provide proper inputs and reducing user mistakes whenoperating/interacting with the device) which, additionally, reducespower usage and improves battery life of the device by enabling the userto use the device more quickly and efficiently. Generating a tactileoutput in response to the rotational input

The tactile output (e.g., 610, 620, a sequence of a number of discrete,individual tactile outputs) corresponding to the navigation through theuser interface (e.g., 616) includes, in accordance with a determination(712) that a currently-displayed portion of the user interface (e.g.,616) (e.g., a currently-selected (e.g., and displayed) portion of theuser interface or a currently-selected user interface element within theuser interface that is currently-displayed, a top portion or middleportion of the currently-selected user interface element) includes afirst type of content (e.g., 618, continuous content, such as continuoustext), the tactile output corresponding to the navigation includes (714)a first type of tactile output sequence (e.g., 620, a textural tactileoutput sequence) that includes one or more tactile outputs determinedbased on an input metric (e.g., a speed and/or magnitude) of the firstinput (e.g., without regard to movement of predefined units of contentin the user interface). In some embodiments, the first type of tactileoutput sequence comprises variable tactile output spacing that isdetermined, for example, by the application corresponding to thedisplayed content. Generating a different type of tactile outputsequence depending on the type of content that is being navigated in theuser interface enables a user to quickly and easily recognize thenature, functionality, and/or features of the content that is beingnavigated while navigating/scrolling the content. Providing additionalcontrol of the device and reducing the number of inputs needed toperform an operation enhances the operability of the device and makesthe user-device interface more efficient (e.g., by helping the user toprovide proper inputs and reducing user mistakes whenoperating/interacting with the device) which, additionally, reducespower usage and improves battery life of the device by enabling the userto use the device more quickly and efficiently.

In some embodiments, the number of tactile outputs generated in thefirst type of tactile output sequence (e.g., 620, generated within afixed period of time (e.g., a rate of output)) corresponds to (e.g., isproportional to) a speed (e.g., rotational speed) of the first input,the first input is a rotational input on the input element. In someembodiments, as described in greater detail below with reference toFIGS. 14A-14H, the number of tactile outputs in the sequence of tactileoutputs increases, and thus the tactile outputs are generated at ahigher rate of occurrence, as the speed (e.g., rotational speed) of arotational input on the input element increases, and the number oftactile outputs in the sequence of tactile outputs decreases (e.g., andthus the tactile outputs are generated at a lower rate of occurrence) asthe speed (e.g., rotational speed) of the rotational input on the inputelement decreases. Generating a tactile output sequence where the numberof tactile outputs correspond to the speed of the rotational inputprovides sensory feedback about a nature/characteristic of the user'sinput on the device, thereby enabling the user to easily respondaccordingly (e.g., by increasing or decreasing the speed of therotational input). Providing improved feedback to the user enhances theoperability of the device and makes the user-device interface moreefficient (e.g., by helping the user to provide proper inputs andreducing user mistakes when operating/interacting with the device)which, additionally, reduces power usage and improves battery life ofthe device by enabling the user to use the device more quickly andefficiently.

The tactile output (e.g., a sequence of a number of discrete, individualtactile outputs) corresponding to the navigation through the userinterface (e.g., 608) includes, in accordance with a determination (716)that the currently-displayed portion of the user interface (e.g., acurrently-selected (e.g., and displayed) portion of the user interfaceor a currently-selected user interface element within the user interfacethat is currently-displayed, a top portion or middle portion of thecurrently-selected user interface element) includes a second type ofcontent (e.g., discrete content, such as buttons, affordances, rows,platters, paragraphs) different from the first type of content, thetactile output corresponding to the navigation includes a second type oftactile output sequence (e.g., 610, a content-driven tactile outputsequence) that includes (718) one or more tactile outputs determinedbased on movement of predefined units of content in the user interface.In some embodiments, the electronic device (e.g., 600) does not generatetactile outputs corresponding to the second type of tactile outputsequence if the content being navigated is of the second type. In someembodiments, the predefined units of content correspond to visuallydistinguished content elements (e.g., buttons, affordances, rows,platters, paragraphs) within the content.

In some embodiments, the user interface does not include content that isthe second type of content. In some embodiments, the user interface is anotification user interface (e.g., 612) that includes continuousnotification text without including discrete content items (e.g.,buttons, affordances, rows, platters, paragraphs)

In some embodiments, the user interface (e.g., 608) does not includecontent that is the first type of content. In some embodiments, the userinterface includes discrete content items (e.g., buttons, affordances,rows, platters, paragraphs) without including continuous content such asa block of text or an image.

In some embodiments, a particular type of tactile output corresponds toa particular tactile output pattern. For example, as described withreference to FIGS. 5C-5H and in Table 1, a tactile output patternspecifies characteristics of a tactile output, such as the amplitude ofthe tactile output, the shape of a movement waveform of the tactileoutput, the frequency of the tactile output, and/or the duration of thetactile output. When tactile outputs with different tactile outputpatterns are generated by a device (e.g., via one or more tactile outputgenerators that move a moveable mass to generate tactile outputs), thetactile outputs may invoke different haptic sensations in a user holdingor touching the device. While the sensation of the user is based on theuser's perception of the tactile output, most users will be able toidentify changes in waveform, frequency, and amplitude of tactileoutputs generated by the device.

In some embodiments, the first type of tactile output sequence (e.g.,620, a textural tactile output sequence) is different from (e.g.,distinguishable from) the second type of tactile output sequence (e.g.,610, a content-driven tactile output sequence). In some embodiments, thefirst type of tactile output sequence is different from the second typeof tactile output sequence (e.g., 610) in that the number, amplitudes,and/or pattern of the one or more tactile outputs of the first type oftactile output sequence is different from the number, amplitudes, and/orpattern of the one or more tactile outputs of the second type of tactileoutput. That is, from the perspective of a user of the electronic device(e.g., 600), the sensory sensation felt by the user from first type oftactile output sequence and from the second type of tactile outputsequence are distinguishable.

In some embodiments, the second type of tactile output sequence (e.g.,610, a content-driven tactile output sequence) is determined based on(e.g., synchronized to, aligned with, matches with) the movement of thepredefined units of content (e.g., affordances, platters) in the userinterface (e.g., 608) (e.g., a predefined unit starting to be displayedon the display (e.g., 602), being fully displayed on the display, movingin a snapping animation, starting to leave the display, being fullyscrolled off of the display, or being scrolled to some predefinedposition on the display such as a center of the display), and the firsttype of tactile output sequence (e.g., 620, a textural tactile outputsequence) is determined independently of (e.g., not synchronized to) themovement of content in the user interface.

In some embodiments, generating (710), via the one or more tactileoutput generators, tactile output corresponding to the navigationthrough the user interface (e.g., 616) includes, in accordance with adetermination (736) that the user interface is displaying a terminalportion (e.g., a beginning or end portion, a top or bottom portion, anedge portion, a border portion) of the first type of content (e.g.,continuous content, such as continuous text), the tactile outputcorresponding to the navigation includes a third type of tactile outputsequence (e.g., 630), different from the first type of tactile outputsequence (e.g., 620), indicating that the content is at the terminalportion. Providing a different type of tactile output to indicate thatthe content is at the terminal portion improves sensory feedback byenabling the user to quickly and easily recognize that the user hasreached the end of the content (e.g., without having to attempt tofurther navigate/scroll the content). Providing improved feedback to theuser enhances the operability of the device and makes the user-deviceinterface more efficient (e.g., by helping the user to provide properinputs and reducing user mistakes when operating/interacting with thedevice) which, additionally, reduces power usage and improves batterylife of the device by enabling the user to use the device more quicklyand efficiently. In some embodiments, generating (710), via the one ormore tactile output generators, tactile output corresponding to thenavigation through the user interface includes, in accordance with adetermination (738) that the user interface is not displaying a terminalportion of the first type of content, the tactile output portioncorresponding to the navigation does not include the third type oftactile output sequence (e.g., although the tactile output portioncorresponding to the navigation optionally includes the first type oftactile output sequence or the second type of tactile output sequencedepending on the type of content and the amount of navigation throughthe user interface).

In some embodiments, in accordance with the determination (716) that theuser interface includes the second type of content (e.g., 608A, 608B,discrete content, such as buttons, affordances, rows, platters,paragraphs), and in accordance with a determination (728) that thepredefined units of content are of a first type (e.g., relatively largediscrete user interface objects), the tactile output has a firstamplitude. In some embodiments, in accordance with the determination(716) that the user interface includes the second type of content (e.g.,discrete content, such as buttons, affordances, rows, platters,paragraphs), and in accordance with a determination (730) that thepredefined units of content are of a second type (e.g., relatively smalldiscrete user interface objects) different from the first type, thetactile output has a second amplitude smaller than the first amplitude(e.g., a reduced amplitude). In some embodiments, the tactile outputcorresponding to the second type of predefined units of content is anamplitude-reduced version of the tactile output corresponding to thefirst type of predefined units of content. Different types of tactileoutputs are described in greater detail above with reference to FIGS.5C-5H and in Table 1.

In some embodiments, while navigating through the user interface (e.g.,608, 616, 632), in accordance with the determination that thecurrently-displayed portion of the user interface includes the secondtype of content (e.g. discrete content, such as buttons, affordances,rows, platters, paragraphs), generating (732) the tactile output (e.g.,that includes the second type of tactile output sequence) comprisesgenerating the tactile output in response to a movement (e.g., asnapping movement) of a first predefined unit of content (e.g., 608A,608B, 622, 624) into alignment on the display (e.g., 602) (e.g., thefirst predefined unit snapping into a region of the display, such as afocal region, center region, or main viewing region of the display).Generating a tactile output in response to a movement of a firstpredefined unit of content into alignment on the display improvessensory feedback by enabling a user to quickly and easily recognize thatthe predefined unit of content is now the currently-selected content,and thus the user can proceed with using a feature/functionalityassociated with the predefined unit of content. Providing improvedfeedback to the user enhances the operability of the device and makesthe user-device interface more efficient (e.g., by helping the user toprovide proper inputs and reducing user mistakes whenoperating/interacting with the device) which, additionally, reducespower usage and improves battery life of the device by enabling the userto use the device more quickly and efficiently.

In some embodiments, while navigating through the user interface (e.g.,608, 616, 632), in accordance with the determination that thecurrently-displayed portion of the user interface includes the secondtype of content (e.g. discrete content, such as buttons, affordances,rows, platters, paragraphs), generating (734) the tactile output (e.g.,that includes the second type of tactile output sequence) comprisesgenerating the tactile output in response a movement (e.g., a snappingmovement) of a first predefined unit of content (e.g., 608A, 608B, 622,624) out of alignment on the display (e.g., 602) (e.g., the firstpredefined unit snapping out of a region of the display, such as a focalregion, center region, or main viewing region of the display).

In some embodiments, the electronic device (e.g., 600) displays (746)(e.g., subsequent to detecting the first input), on the display, asecond user interface (e.g., 612, a non-scrollable user interface, anon-modifiable user interface, a non-navigable user interface, anotification) different from the user interface (e.g., 608, 616, 632, ascrollable user interface, a modifiable user interface, a navigable userinterface). In some embodiments, while displaying the second userinterface, the electronic device detects (748), via the input element, asecond input (e.g., a rotational input, a rotational input on the inputelement in a clockwise or counter-clockwise direction). In someembodiments, in response to detecting (750) the second input, theelectronic device, in accordance with a determination that the secondinput does not cause a navigation of the second user interface (e.g.,because the second user interface is non-scrollable), forgoes generating(752), via the one or more tactile output generators, a tactile output.Thus, in some embodiments, if an input (e.g., rotational input) on theinput element causes a change and/or modification of the displayed userinterface, the electronic device does not generate a tactile output inresponse to the input, thereby enabling the user to quickly and easilyrecognize, while making an input on the device, that the input caused achange and/or modification of the displayed user interface. This in turnenhances the operability of the device and makes the user-deviceinterface more efficient (e.g., by helping the user to provide properinputs and reducing user mistakes when operating/interacting with thedevice) which, additionally, reduces power usage and improves batterylife of the device by enabling the user to use the device more quicklyand efficiently.

In some embodiments, in response to detecting (750) the second input,the electronic device, in accordance with a determination that thesecond input causes a navigation of the second user interface (e.g.,because the second user interface is scrollable), generates (754), viathe one or more tactile output generators, the tactile output. In someembodiments, if the navigation of the second user interface includes(e.g., only includes) a navigation of continuous content (e.g.,continuous text), the generated tactile output is the first type oftactile output/tactile output sequence (e.g., a textural tactile outputsequence). In some embodiments, if the navigation of the second sureinterface includes (e.g., only includes) a navigation of discretecontent (e.g., buttons, affordances, rows, platters, paragraphs), thegenerated tactile output is the second type of tactile output/tactileoutput sequence (e.g., a content-driven tactile output sequence)different from the first type of tactile output/tactile output sequence.

In some embodiments, the second user interface (e.g., 612) correspondsto a notification (e.g., of an incoming electronic communication, analert), and the notification replaces display of the user interface(e.g., 608).

In some embodiments, while displaying the user interface (e.g., 608,616), the electronic device (e.g., 600) detects (720), via a secondinput element (e.g., a touch-sensitive surface of the display of theelectronic device) different from the input element (e.g., 604), asecond input (e.g., a touch-based navigational gesture or scrollinggesture on the display (e.g., 602)). In some embodiments, in response todetecting (722) the second input, the electronic device navigates (724)through the user interface (e.g., scrolls through the user interface).In some embodiments, in response to detecting (722) the second input,the electronic device forgoes generating (726), via the one or moretactile output generators, the tactile output corresponding to thenavigation through the user interface.

In some embodiments, in response to detecting (706) the first input(e.g., 601, 605), the electronic device (e.g., 600) generates (740)(e.g., via the one or more tactile out generators and/or one or morespeakers of or connected to the electronic device) audio outputassociated with the tactile output corresponding to the navigationthrough the user interface (e.g., 608, 616, 632). In some embodiments,in accordance with the determination (742) that the currently-displayedportion of the user interface (e.g., 616) includes the first type ofcontent (e.g., continuous content), the audio output includes an audiooutput sequence that is associated with (e.g., based on) tactile outputsequence 610. In some embodiments, in accordance with the determination(744) that the currently-displayed portion of the user interface (e.g.,608) includes the second type of content (e.g., discrete content), theaudio output includes a second type of audio output sequence that isassociated with (e.g., based on) the second type of tactile outputsequence. Providing an audio output associated with the tactile outputimproves feedback by providing another avenue for the user to recognizethat content is being scrolled and the types of content that are beingscrolled in the user interface. Providing improved feedback to the userenhances the operability of the device and makes the user-deviceinterface more efficient (e.g., by helping the user to provide properinputs and reducing user mistakes when operating/interacting with thedevice) which, additionally, reduces power usage and improves batterylife of the device by enabling the user to use the device more quicklyand efficiently.

In some embodiments, in accordance with a determination (7526) that anevent triggering a notification (e.g., 612, activation of an alert,receiving an electronic communication, such as a text or email message)is detected while not detecting input via the input element (e.g., 604),the electronic device (e.g., 600) generates a tactile output (e.g., 614)corresponding to the notification and, optionally, displaying, on thedisplay, the notification. In some embodiments, in accordance with adetermination that the event triggering the notification (e.g.,activation of an alert, receiving an electronic communication, such as atext or email message) is detected while detecting input via the firstinput element, the electronic device forgoes generating the tactileoutput corresponding to the notification and, optionally, forgoingdisplaying, on the display, the notification. In some embodiments, thetactile output corresponding to the notification is suppressed. In someembodiments, the tactile output corresponding to the notification isdelayed until input via the first input element ceases to be detected.In some embodiments, the electronic device displays the notificationupon detecting that the first input is no longer being detected.

In some embodiments, in accordance with a determination that an eventtriggering a notification (e.g., 612, activation of an alert, receivingan electronic communication, such as a text or email message) isdetected while detecting the first input (e.g., 601, 605), theelectronic device (e.g., 600) forgoes generating (756) a tactile output(e.g., 614) corresponding to the notification (e.g., an alert tactileoutput) until predefined criteria (e.g., a predetermined amount of time)are met and, optionally, displaying, on the display, the notificationfor a predetermined amount of time. In some embodiments, in response toa determination that the predetermined criteria have been met (e.g.,that the predetermined amount of time has passed), the electronic devicegenerates (758) the tactile output corresponding to the notificationand, optionally, displaying, on the display, the notification. In someembodiments, the electronic device displays the notification after thepredetermined amount of time has passed even if the first input is stillbeing detected. Thus, in some embodiments, the tactile outputcorresponding to the notification (e.g., an alert tactile output) doesnot interfere with the tactile output corresponding to the navigationthrough the user interface via the first input.

Note that details of the processes described above with respect tomethod 700 (e.g., FIGS. 7A-7D) are also applicable in an analogousmanner to the methods described below. For example, method 900optionally includes one or more of the characteristics of the variousmethods described above with reference to method 700. For example, adifferent type of tactile output sequence is generated during scrollingof content and at the end of content, as described in method 900. Foranother example, method 1100 optionally includes one or more of thecharacteristics of the various methods described above with reference tomethod 700. For example, a tactile output sequence is generated whenadjusting via rotational input on an input element, as opposed to atouch input on a display, as described in method 1100. For anotherexample, method 1300 optionally includes one or more of thecharacteristics of the various methods described above with reference tomethod 700. For example, one or more different types of tactile outputsequences are provided while adjusting a time setting via a rotationalinput on an input element, as described in method 1300. For anotherexample, method 1500 optionally includes one or more of thecharacteristics of the various methods described above with reference tomethod 700. For example, a magnitude/amplitude and/or number of discretetactile outputs in a generated tactile output sequence changes inresponse to a change in rotational speed of a rotational input on aninput element, as described in method 1500. For brevity, these detailsare not repeated below.

FIGS. 8A-8T illustrate exemplary user interfaces associated withend-of-content tactile outputs, in accordance with some embodiments. Theuser interfaces in these figures are used to illustrate the processesdescribed below, including the processes in FIGS. 9A-9B.

FIG. 8A illustrates electronic device 600, as described above withreference to FIGS. 6A-6AF. In FIG. 8A, electronic device 600 displays,on display 602, text 804 of a received message (e.g., comprisingcontinuous text of the received message) in a user interface 802 of amessaging application (e.g., an email application, a text messageapplication, a chat application). Text 804 is shown in a user interfaceitem 806 of user interface 802, where the user interface item 806 is aterminus user interface element (e.g., a first user interface element)of user interface 802 and is displayed in its initial position, with thebeginning of text 804 shown on the display.

In FIG. 8A, while displaying user interface item 806 in its initialposition within user interface 802, electronic device 600 detects, viainput element 604, a rotational input 801 (e.g., in a clockwisedirection). In response to detecting rotational input 801, electronicdevice 600 scrolls text 804 downwards to display portions of text 804that, in FIG. 8A, was not visible on the display. As shown in FIG. 8B,while scrolling text 804 (e.g., comprising continuous text), electronicdevice 600 generates tactile output sequence 620 (e.g., a “minor”tactile output sequence, as described in Table 1). In some embodiments,electronic device 600 also generates, via the one or more tactile outputgenerators, the audio output sequence (e.g., having a second type ofaudio pattern) associated with tactile output sequence 620.

In FIG. 8B after scrolling text 804 downwards, electronic device 600detects, via input element 604, a rotational input 803 (e.g., in acounter-clockwise direction). In response to detecting rotational input803, electronic device 600 scrolls text 804 back upwards towards theinitial position of text 804 on the display. As shown in FIG. 8C, whilescrolling text 804 (e.g., comprising continuous text), electronic device600 generates tactile output sequence 620 and, in some embodiments, theaudio output sequence associated with tactile output sequence 620.

In FIG. 8C, electronic device 600 continues detecting rotational input803 on input element 604. In response to continuing to detect rotationalinput 803, electronic device 600 continues scrolling text 804 upwardsuntil user interface item 806 is back to its initial position on thedisplay, and the top-end of user interface 802 is reached on thetop-edge of the display.

In FIG. 8D, upon user interface 802 reaching its top-end on the display,electronic device generates tactile output sequence 630 (e.g., a “limit”tactile output sequence, as described in Table 1). In some embodiments,electronic device 600 also generates, via the one or more tactile outputgenerators, the audio output sequence (e.g., having a third type ofaudio pattern) associated with tactile output sequence 630.

In FIG. 8D, electronic device 600 continues detecting rotational input803 on input element 604, even after user interface 802 reaching itstop-end on the display.

FIGS. 8E-8F illustrate user interface item 806 including text 804 beingscrolled beyond its initial position in FIG. 8A in a “rubberbanding”effect, as first described above with reference to FIGS. 6P-6R. In FIGS.8E-8F, electronic device 600 continues detecting rotational input 803 oninput element 604. As a result of continued rotational input 803 oninput element 604, user interface 802 is further scrolled beyond theterminus user interface item (e.g., user interface item 806) such thatan empty region beyond user interface item 806 is shown (e.g., a regionthat is blank or has a different color or texture from the userinterface item) and, once rotational input 803 is no longer detected,user interface item 806 “bounces back” to its initial position in FIG.8A in a rubberbanding effect, as shown in FIG. 8G. During therubberbanding effect illustrated in FIGS. 8E-8F, electronic device 600does not generate a tactile output (e.g., nor an audio output). Further,electronic device 600 does not generate tactile output sequence 630sequence after the “bounce-back” of user interface item 806 to itsinitial position, as shown in FIG. 8G.

FIGS. 8H-8K illustrate text 804 being scrolled via a touch scrollinginput (e.g., on a touch-sensitive surface of display 602). In FIG. 8H,while displaying user interface item 806 in its initial position,electronic device 600 detects (e.g., via a touch-sensitive surface ofdisplay 602) a touch scrolling gesture 805 (e.g., in an upwardsdirection) on text 804.

In FIG. 8I, in response to detecting touch scrolling gesture 805,electronic device 600 scrolls text 804 (e.g., in a downwards direction)such that portions of text 804 that was not visible in FIG. 8H isvisible in FIG. 8I. In FIG. 8J, after scrolling text 804 in response todetecting touch scrolling gesture 805, electronic device 600 detects(e.g., via a touch-sensitive surface of display 602) another touchscrolling gesture 807 (e.g., in an upwards direction). As shown in FIGS.8G-8J, electronic device 600 does not generate a tactile output (e.g.,tactile output sequence 620) when scrolling text 804 in response to atouch scrolling input (e.g., as opposed to a rotational input on inputelement 604).

In FIG. 8K, in response to detecting touch scrolling gesture 807,electronic device 600 further scrolls text 804 (e.g., in a downwardsdirection) such that the bottom-end of text 804 is displayed and anaffordance 808 (e.g., a reply button) below user interface item 806 isshown in the display. As shown in FIG. 8K, electronic device 600 doesnot generate a tactile output (e.g., tactile output sequence 610) whendisplaying affordance 808 in response to a touch scrolling input (e.g.,as opposed to a rotational input on input element 604).

In some embodiments, affordance 808 is a terminus user interface item(e.g., the last, bottom-most user interface item) of user interface 802.In some embodiments, even if affordance 808 is a terminus user interfaceitem of user interface 802, electronic device 600 does not generate atactile output (e.g., tactile output sequence 630) when the displayreaches an end of user interface 802.

FIGS. 8L-8P illustrate a plurality of platters of a workout application(e.g., the workout application first described above with reference toFIGS. 6A-6E) being scrolled by a rotational input 809 on input element604. As mentioned, a platter is a discrete user interface element/item(e.g., as opposed to the continuous text of text 804, which is acontinuous user interface element/item).

In FIG. 8L, while displaying, on display 602, a user interface 810 ofthe workout application, where user interface 810 includes a pluralityof platters, including a platter 812, electronic device 600 detects, viainput element 604, rotational input 809.

In response to detecting and while continuing to detect rotational input809 on input element 604, electronic device 600 scrolls the plurality ofplatters of user interface 810. In FIG. 8M, platter 812 is graduallymoved off of a top-edge of the display and a platter 814 (e.g.,positioned below platter 812) is gradually moved onto the display, whereplatter 814 is a terminus user interface item (e.g., the last,bottom-most platter) of user interface 810.

In FIG. 8N, platter 814 is fully moved onto the display as a result ofrotational input 809 on input element 604. In response to platter 814being fully moved onto the bottom of the display, as shown in FIG. 8N,electronic device 600 generates tactile output sequence 630 and, in someembodiments, the audio output sequence associated with the tactileoutput sequence 630.

In FIGS. 80-8P, electronic device 600 continues detecting rotationalinput 809 on input element 604. As a result of continued rotationalinput 809 on input element 604, user interface 810 is further scrolledbeyond the terminus user interface item (e.g., platter 814) such that anempty region beyond user interface item 814 is shown (e.g., the“stretch” portion of the rubberbanding effect).

In FIG. 8Q, electronic device 600 no longer detects rotational input 809on input element 604. Upon no longer detecting rotational input 809 oninput element 604, platter 814 “bounces back” to its initial position inFIG. 8N (e.g., the “bounce-back” portion of the rubberbanding effect).During the rubberbanding effect illustrated in FIGS. 80-8Q, electronicdevice 600 does not generate a tactile output (e.g., nor an audiooutput). Further, electronic device 600 does not generate tactile outputsequence 630 after the “bounce-back” of platter 814 to its initialposition, as shown in FIG. 8Q. This lack of tactile output after an endof the content has been reached when scrolling inputs before reachingthe end of the content generated tactile outputs during the scrollinginputs provides the user with an indication that an end of the contenthas been reached.

FIGS. 8R-8T illustrate the rubberbanding effect of platter 814 inresponse to a touch scrolling gesture 811 (e.g., on a touch-sensitivesurface of display 602), as opposed to rotational input 809 on inputelement 604. Prior to the rubberbanding effect, contrary to scrolling inresponse a rotational input on input element 604 (e.g., rotational input809), electronic device 600 does not generate a tactile output (e.g.,does not generate tactile output sequence 630) upon initially reachingan end of user interface 810 (e.g., platter 814 being fully moved ontothe bottom of the display, as shown in FIG. 8N) in response to a touchscrolling gesture. Further, during the rubberbanding effect illustratedin FIGS. 8R-8T, electronic device 600 does not generate a tactile output(e.g., nor an audio output).

FIGS. 9A-9B are a flow diagram illustrating a method for managing userinterfaces associated with end-of-content tactile outputs, in accordancewith some embodiments. Method 900 is performed at a device (e.g., 100,300, 500, 600) with a display, an input element (e.g., a rotatable inputdevice that is rotatable relative to a housing of the device; arotatable input device/mechanism that includes a fixed socket and arotatable component (e.g., a crown) attached to or affixed to a shaft,where the rotatable component and shaft rotate together in the fixedsocket; a rotatable input device/mechanism that includes a rotatablecomponent (e.g., a crown) that rotates relative to a fixed component(e.g., a fixed shaft); a rotatable input device/mechanism that rotates,in response to a rotational input, on an axis such that the direction ofthe rotation is parallel to the display of the electronic device; arotatable input device/mechanism that can detect rotational input (e.g.,via a touch-detection mechanism) without the device itself beingphysically rotated; a rotatable and press-able input device; a rotatablecrown), and one or more tactile output generators (e.g., located in theinput element and/or located in the main housing of the electronicdevice). Some operations in method 900 are, optionally, combined, theorders of some operations are, optionally, changed, and some operationsare, optionally, omitted.

As described below, method 900 provides an intuitive way for managinguser interfaces associated with content-based tactile outputs. Themethod reduces the cognitive burden on a user for managing andnavigating user interfaces, thereby creating a more efficienthuman-machine interface. For battery-operated computing devices,enabling a user to navigate user interfaces faster and more efficientlyby providing content-based tactile outputs conserves power and increasesthe time between battery charges.

The electronic device (e.g., 600) displays (902), on the display (e.g.,602), a first portion (e.g., a non-terminal portion) of content (e.g.,continuous content, such as continuous text of a messaging application(e.g., an email application or a chat application), discrete content,such as buttons, affordances, rows, platters, paragraphs).

While displaying the first portion of content (e.g., 804), theelectronic device (e.g., 600) detects (904), via the input element(e.g., 604), a first input (e.g., 801, 803, a rotational input on theinput element, a rotational input in a particular direction, such as aclockwise direction or a counter-clockwise direction). Detecting arotational input via an input element (e.g., a rotatable input element)enhances usability and user efficiency of the device by enabling a userto quickly, easily, and intuitively navigate/scroll through displayedcontent. This is in turn enhances the operability of the device andmakes the user-device interface more efficient (e.g., by helping theuser to provide proper inputs and reducing user mistakes whenoperating/interacting with the device) which, additionally, reducespower usage and improves battery life of the device by enabling the userto use the device more quickly and efficiently.

In response to detecting (906) the first input (e.g., 801, 803), theelectronic device (e.g., 600) navigates (908) through the content (e.g.,804) (e.g., scrolling through the content) to display a second portionof the content (e.g., a different portion of the content that waspreviously not displayed). In response to detecting (906) the firstinput (e.g., 801, 803), the electronic device generates (910), via theone or more tactile output generators, a first type of tactile outputsequence (e.g., 620) that includes one or more tactile outputs (e.g., atextural tactile output sequence that is based on an input metric of theinput).

While displaying the second portion of the content, the electronicdevice (e.g., 600) detects (912), via the input element (e.g., 604), asecond input (e.g., a rotational input on the input element, arotational input in a particular direction, such as a clockwisedirection or a counter-clockwise direction).

In response to detecting (914) the second input and in accordance with adetermination that the second portion of the content is a terminalportion (e.g., a beginning or end portion, a border portion, an edgeportion) of the content, the electronic device (e.g., 600) displays(916) a visual indication (e.g., shifting animation, a bouncinganimation (e.g., prior to a bounce-back animation), arubberbanding-effect animation of the content) that the content (e.g.,804) is a terminal portion of the content. In some embodiments, theterminal portion of the content is a beginning portion (e.g., topportion, a top-edge portion) of the content or an end portion (e.g., abottom portion, a bottom-edge portion) of the content. Displaying avisual indication that the content is a terminal portion of the contentimproves visual feedback by providing an intuitive visual effect thatenables a user to quickly and easily recognize that an end of thecontent has been reached while the user interface can still be moved.Providing improved visual feedback to the user enhances the operabilityof the device and makes the user-device interface more efficient (e.g.,by helping the user to provide proper inputs and reducing user mistakeswhen operating/interacting with the device) which, additionally, reducespower usage and improves battery life of the device by enabling the userto use the device more quickly and efficiently.

In some embodiments, displaying the visual indication (e.g., therubberbanding effect) that the content is a terminal portion of thecontent includes displaying a visual effect that changes as the input(e.g., 803) continues such as displaying an area (e.g., a background)beyond the terminus of the visual content, displaying a graphicalelement that increases or decreases in size, opacity or brightness asthe input continues to be detected after reaching at terminus of thecontent, or continuing to move the content on the display (e.g., 602) ina respective direction but decreasing the amount by which a unit ofmovement of the input moves the content in the respective direction asthe input continues. Displaying a visual effect that changes as theinput continues, such as displaying an area (e.g., a background) beyondthe terminus of the visual content improves visual feedback by providingan intuitive visual effect that enables a user to quickly and easilyrecognize that an end of the content has been reached while the userinterface can still be moved. Providing improved visual feedback to theuser enhances the operability of the device and makes the user-deviceinterface more efficient (e.g., by helping the user to provide properinputs and reducing user mistakes when operating/interacting with thedevice) which, additionally, reduces power usage and improves batterylife of the device by enabling the user to use the device more quicklyand efficiently.

In some embodiments, displaying the visual indication that the contentis a terminal portion of the content comprises shifting (e.g., movingthe portion of content a particular distance in a particular directionon the display (e.g., 602), bouncing the portion of content off of itsinitial position on the display) the second portion of the content onthe display. In some embodiments, after shifting the second portion ofthe content, the content is subsequently shifted back to its initialposition on the display. Displaying a shifting of the content and then asubsequent bounce-back of the content improves visual feedback byproviding an intuitive visual effect that enables a user to quickly andeasily recognize that an end of the content has been reached while theuser interface can still be moved. Providing improved visual feedback tothe user enhances the operability of the device and makes theuser-device interface more efficient (e.g., by helping the user toprovide proper inputs and reducing user mistakes whenoperating/interacting with the device) which, additionally, reducespower usage and improves battery life of the device by enabling the userto use the device more quickly and efficiently.

In some embodiments, shifting the second portion of the content on thedisplay (e.g., 602) comprises moving the second portion of the contentat least partially off of an edge of the display. In some embodiments,after moving/shifting the second portion of the content at leastpartially off of an edge of the display, the second portion of thecontent is subsequently moved/shifted back onto the display, and thecontent is returned to its initial position.

In some embodiments, a visual characteristic (e.g., a rate of movementof a shifting indication, a color, a brightness, a frequency of arecurring visual effect) of the visual indication that the content is aterminal portion of the content is based on an input metric (e.g., speedand/or magnitude) of the second input.

In response to detecting (914) the second input and in accordance with adetermination that the second portion of the content is a terminalportion (e.g., a beginning or end portion, a border portion, an edgeportion) of the content, the electronic device (e.g., 600) forgoesgenerating (918), via the one or more tactile output generators, thefirst type of tactile output sequence (e.g., 620) or, optionally,forgoing generating any tactile output. In some embodiments, aparticular type of tactile output corresponds to a particular tactileoutput pattern. For example, as described in greater detail above withreference to FIGS. 5C-5H and in Table 1, a tactile output patternspecifies characteristics of a tactile output, such as the amplitude ofthe tactile output, the shape of a movement waveform of the tactileoutput, the frequency of the tactile output, and/or the duration of thetactile output. When tactile outputs with different tactile outputpatterns are generated by a device (e.g., via one or more tactile outputgenerators that move a moveable mass to generate tactile outputs), thetactile outputs may invoke different haptic sensations in a user holdingor touching the device. While the sensation of the user is based on theuser's perception of the tactile output, most users will be able toidentify changes in waveform, frequency, and amplitude of tactileoutputs generated by the device.

In some embodiments, in response to detecting (914) the second input(e.g., 803, a rotational input on the input element (e.g., 604), arotational input in a particular direction, such as the clockwisedirection or a counter-clockwise direction) and in accordance with thedetermination that the second portion of the content is a terminalportion (e.g., a beginning or end portion, a border portion, an edgeportion) of the content, the electronic device (e.g., 600) generates(934), via the one or more tactile output generators, a third type oftactile output sequence (e.g., different from the first type of tactileoutput sequence, a reduced-amplitude version first type of tactileoutput sequence). Generating the tactile output sequence upon firstreaching an end of the content improves sensory feedback and userefficiency by enabling the user to quickly and easily recognize, whileproviding a rotational input on an input element, that the end of thecontent has been reached. Providing improved feedback to the userenhances the operability of the device and makes the user-deviceinterface more efficient (e.g., by helping the user to provide properinputs and reducing user mistakes when operating/interacting with thedevice) which, additionally, reduces power usage and improves batterylife of the device by enabling the user to use the device more quicklyand efficiently.

In some embodiments, subsequent to detecting the second input (e.g.,803) and while displaying the second portion of the content, theelectronic device (e.g., 600) detects (936), via the input element, athird input (e.g., a rotational input on the input element), where thesecond input (e.g., a rotational input) is in a first direction (e.g., aclockwise direction or a counter-clockwise direction) and the thirdinput is in a direction opposite of that of the second input. In someembodiments, in response to detecting the third input, the electronicdevice forgoes generating (938), via the one or more tactile outputgenerators, the third type of tactile output sequence (e.g., 630, andinstead generating, via the one or more tactile output generators, thefirst type of tactile output sequence). Forgoing generating the tactileoutput upon reaching the end of the content a second time (e.g., after abounce-back from a rubberbanding effect) improves the operability anduser convenience of the device by forgoing generating unnecessaryfeedback, which in turn makes the user-device interface more efficient(e.g., by helping the user to provide proper inputs and reducing usermistakes when operating/interacting with the device) which,additionally, reduces power usage and improves battery life of thedevice by enabling the user to use the device more quickly andefficiently.

In some embodiments, the third type of tactile output sequence (e.g.,630) corresponds to (e.g., has the same types/pattern of tactile outputsas) the first type of tactile output sequence, the first type of tactileoutput sequence is associated with a first type of audio outputsequence, and the third type of tactile output sequence is associatedwith a second type of audio output sequence different from (e.g.,different in types and/or pattern) the first type of audio outputsequence. In some embodiments, similar to a tactile output, a particulartype of audio output corresponds to a particular type of audio outputpattern. For example, an audio output pattern specifies characteristicsof an audio output, such as the magnitude/amplitude/volume of the audiooutput, the shape of a sound waveform of the audio output, the frequencyof the audio output, and/or the duration of the audio output. When audiooutputs with different audio output patterns are generated by a device(e.g., via one or more tactile output generators that move a moveablemass to generate audio outputs, via one or more speakers), the audiooutputs may invoke different audio-related sensations in a user holdingor touching the device or proximate to the device.

In some embodiments, subsequent to detecting the second input (e.g.,803) and while displaying the second portion of the content, theelectronic device (e.g., 600) detects (926), via the input element(e.g., 604), a third input (e.g., a third rotation of the inputelement), where the third input is in a direction opposite of the secondinput. In some embodiments, in response to detecting (928) the thirdinput, the electronic device navigates back (930) (e.g., navigating inthe opposite direction from the navigation caused by the first input)through the content to display the first portion of the content. In someembodiments, in response to detecting (928) the third input, theelectronic device generates (932), via the one or more tactile outputgenerators, the first type of tactile output sequence (e.g., a texturaltactile output sequence that is based on an input metric of the input).

In some embodiments, while displaying the second portion of the content,the electronic device (e.g., 600) detects (940), on the display (e.g.,602, via a touch-sensitive surface of the display), a fourth input(e.g., a touch-based scrolling input on a touch-sensitive surface of thedisplay and not on the input element). In some embodiments, in responseto detecting (942) the scrolling input and in accordance with thedetermination that the second portion of the content is a terminalportion (e.g., a beginning or end portion, a border portion, an edgeportion) of the content, the electronic device displays (944) the visualindication that the content is a terminal portion of the content. Insome embodiments, in response to detecting (942) the scrolling input andin accordance with the determination that the second portion of thecontent is a terminal portion (e.g., a beginning or end portion, aborder portion, an edge portion) of the content, the electronic deviceforgoes generating (946), via the one or more tactile output generators,the first type of tactile output sequence and, optionally, forgoing anytactile output/tactile output sequence associated with navigatingthrough the content.

In some embodiments, in response to detecting (920) the second input(e.g., 803) and in accordance with a determination that the secondportion of the content is not a terminal portion (e.g., a beginning orend portion, a border portion, an edge portion) of the content, theelectronic device (e.g., 600) displays (922), on the display (e.g.,602), a third portion of the content (e.g., navigating through thecontent to display a portion of the content adjacent to/continuous withthe second portion of the content). In some embodiments, in response todetecting (920) the second input and in accordance with a determinationthat the second portion of the content is not a terminal portion (e.g.,a beginning or end portion, a border portion, an edge portion) of thecontent, the electronic device generates (924), via the one or moretactile output generators, the first type of tactile output sequence(e.g., a textural tactile output sequence that is based on an inputmetric of the input). Generating a different type of tactile output fornavigating/scrolling through content and for reaching an end of thecontent improves feedback by enabling the user to quickly and easilyrecognize that whether the displayed content is being scrolled and canbe further scrolled. Providing improved feedback to the user enhancesthe operability of the device and makes the user-device interface moreefficient (e.g., by helping the user to provide proper inputs andreducing user mistakes when operating/interacting with the device)which, additionally, reduces power usage and improves battery life ofthe device by enabling the user to use the device more quickly andefficiently.

Note that details of the processes described above with respect tomethod 900 (e.g., FIGS. 9A-9B) are also applicable in an analogousmanner to the methods described above and below. For example, method 700optionally includes one or more of the characteristics of the variousmethods described above with reference to method 900. For example, oneor more tactile output sequences, as described in method 700 areprovided while scrolling content in response to a rotational input on aninput element and upon reaching the end of the content. For anotherexample, method 1100 optionally includes one or more of thecharacteristics of the various methods described above with reference tomethod 900. For example, as in method 900, tactile outputs are generatedin response to rotational input on an input element, but not in responseto touch input on a display. For another example, method 1300 optionallyincludes one or more of the characteristics of the various methodsdescribed above with reference to method 900. For example, similar typesof tactile output sequences can be generated in a time setting userinterface, as described in method 1300, as when scrolling content andreaching an end of content, as described in method 900. For anotherexample, method 1500 optionally includes one or more of thecharacteristics of the various methods described above with reference tomethod 900. For example, as described in method 1500, themagnitude/amplitude and/or rate of occurrence of tactile outputs canchange based on changes in speed of a rotational input when scrollingcontent and reaching an end of content. For brevity, these details arenot repeated below.

FIGS. 10A-10K illustrate exemplary user interfaces associated withmoving a user interface in response to different types of input, inaccordance with some embodiments. The user interfaces in these figuresare used to illustrate the processes described below, including theprocesses in FIGS. 11A-11C.

FIGS. 10A-10E illustrate a user interface 1002 of a workout application(e.g., the workout application first described above with reference toFIGS. 6A-6E) being scrolled on display 602 by a rotational input 1001 oninput element 604, where user interface 1002 includes a plurality ofplatters, including platter 1004.

In FIG. 10A, platter 1004 is currently aligned to (e.g., “snapped” to) afocal point (e.g., a center point, a focal region, a center region) ofdisplay 602, as indicated by the N-number showing “No” in FIG. 10A.While platter 1004 is aligned to the focal point of the display,electronic device 600 detects, via input element 604, a rotational input1001 (e.g., in a clockwise direction).

In FIG. 10B, in response to detecting rotational input 1001 on inputelement 604, and while rotational input 1001 is maintained on inputelement 604 (e.g., but input element 604 is not being further rotated),electronic device 600 moves platter 1004 upwards by a first lineardistance over the focal point of the display, as indicated by the N_(i)N-number in FIG. 10B.

In FIG. 10C, rotational input 1001 is no longer maintained on inputelement 604. Upon detecting that rotational input 1001 is no longermaintained on input element 604, platter 1004 moves back (e.g., “snaps”back) to again align to the focal point of the display.

After moving back (e.g., “snapping” back) to the focal point of thedisplay, electronic device 600 detects, via input element 604, arotational input 1003. In FIG. 10D, in response to detecting rotationalinput 1003 on input element 604, and while rotational input 1003 ismaintained on input element 604 (e.g., but input element 604 is notbeing further rotated), electronic device 600 moves platter 1004 upwardsby a second linear distance, greater than the first linear distance,over the focal point of the display, as indicated by the N₂ N-number inFIG. 10D. Further, a platter 1006 (e.g., positioned below platter 1004)is also moved upwards by the second linear distance on the display.

In FIG. 10E, rotational input 1003 is no longer maintained on inputelement 604. Upon detecting that rotational input 1003 is no longermaintained on input element 604, platter 1004 (e.g., partially) slidesoff of the top-edge of the display and platter 1006 now aligns to (e.g.,“snaps” to) the focal point of the display, as indicated by the NoN-number. Further, electronic device 600 generates, via the one or moretactile output generators, tactile output sequence 610 upon platter 1006aligning to (e.g., “snapping” to) the focal point of the display. Insome embodiments, in addition to generating tactile output sequence 610,electronic device 600 also generates (e.g., via the one or more tactileoutput generators that generate tactile output sequence 610) the audiooutput sequence associated with tactile output sequence 610.

FIGS. 10F-10K illustrate user interface 1002 of the workout applicationbeing scrolled on display 602 by a touch scrolling gesture (e.g.,detected via a touch-sensitive surface of display 602).

In FIG. 10F, platter 1004 is currently aligned to (e.g., “snapped” to)the focal point (e.g., a center point, a focal region, a center region)of display 602, as indicated by the No N-number. While platter 1004 isaligned to the focal point of the display, electronic device 600 detects(e.g., via a touch-sensitive surface of display 602) a touch scrollinggesture 1005 (e.g., in an upwards direction).

In FIG. 10G, in response to detecting touch scrolling gesture 1005, andwhile the touch gesture 1005 is maintained on display 602 (e.g., but isnot being further moved), electronic device 600 moves platter 1004upwards by the second linear distance over the focal point of thedisplay, as indicated by the N₂ N-number in FIG. 10G, and the samelinear distance that platter 1004 was moved in FIG. 10D. Further,platter 1006 is also moved upwards by the second linear distance on thedisplay.

In FIG. 10H, touch scrolling gesture 1005 is no longer maintained ondisplay 602. Upon detecting that touch scrolling gesture 1005 is nolonger maintained, platter 1004 moves back (e.g., “snaps” back) to againalign to the focal point of the display.

In FIG. 10I, after moving back (e.g., “snapping” back) to the focalpoint of the display, electronic device 600 detects (e.g., via atouch-sensitive surface of display 602) a touch scrolling gesture 1007(e.g., in an upwards direction).

In FIG. 10J, in response to detecting touch scrolling gesture 1007 ondisplay 602, and while touch scrolling gesture 1007 is maintained ondisplay 602 (e.g., the touch scrolling gesture is not being furthermoved but is still detected on the display), electronic device 600 movesplatter 1004 upwards by a third linear distance, greater than the secondlinear distance, over the focal point of the display, as indicated bythe N. N-number in FIG. 10J. Further, platter 1006 is also moved upwardsby the third linear distance on the display.

In FIG. 10K, touch scrolling gesture 1007 is no longer maintained ondisplay 602. Upon detecting that touch scrolling gesture 1007 is nolonger maintained, platter 1004 (e.g., partially) slides off of thetop-edge of the display and platter 1006 now aligns to (e.g., “snaps”to) the focal point of the display, as indicated by the No N-number.Further, electronic device generates, via the one or more tactile outputgenerators, tactile output sequence 610 upon platter 1006 aligning to(e.g., “snapping” to) the focal point of the display. In someembodiments, in addition to generating tactile output sequence 610,electronic device 600 also generates (e.g., via the one or more tactileoutput generators that generate tactile output sequence 610) the audiooutput sequence associated with tactile output sequence 610.

Thus, as shown by FIGS. 10A-10E, a first type of user interfaceitem/element (e.g., a discrete user interface item/element, such as aplatter) moved by the second linear distance via a rotational input oninput element 604 causes the next user interface item/element to alignto (e.g., “snap” to) the focal point of the display, whereas, as shownby FIGS. 10F-10K, the first type of user interface item/element moved bythe second linear distance via a touch input on display 602 does notcause the next user interface item/element to align to the focal pointof the display-instead, if a touch input on display 602 (e.g., asopposed to a rotational input on input element 604) is detected, theuser interface item/element needs to be moved by at least the thirdlinear distance, greater than the second linear distance, to cause thenext user interface item/element to align to (e.g., “snap” to) the focalregion of the display.

FIGS. 11A-11C are a flow diagram illustrating a method for moving a userinterface in response to different types of input, in accordance withsome embodiments. Method 1100 is performed at a device (e.g., 100, 300,500, 600) with a touch-sensitive display and a rotatable input element(e.g., a rotatable input device that is rotatable relative to a housingof the device; a rotatable input device/mechanism that includes a fixedsocket and a rotatable component (e.g., a crown) attached to or affixedto a shaft, where the rotatable component and shaft rotate together inthe fixed socket; a rotatable input device/mechanism that includes arotatable component (e.g., a crown) that rotates relative to a fixedcomponent (e.g., a fixed shaft); a rotatable input device/mechanism thatrotates, in response to a rotational input, on an axis such that thedirection of the rotation is parallel to the display of the electronicdevice; a rotatable input device/mechanism that can detect rotationalinput (e.g., via a touch-detection mechanism) without the device itselfbeing physically rotated; a rotatable and press-able input device; arotatable crown). Some operations in method 1100 are, optionally,combined, the orders of some operations are, optionally, changed, andsome operations are, optionally, omitted.

As described below, method 1100 provides an intuitive way for managinguser interfaces associated with content-based tactile outputs. Themethod reduces the cognitive burden on a user for managing andnavigating user interfaces, thereby creating a more efficienthuman-machine interface. For battery-operated computing devices,enabling a user to navigate user interfaces faster and more efficientlyby providing content-based tactile outputs conserves power and increasesthe time between battery charges.

The electronic device (e.g., 600) displays (1102), on the display (e.g.,602), a user interface (e.g., 1002, a user interface that includescontinuous content, such as continuous text of a messaging application,and/or discrete content, such as buttons, affordances, rows, platters,paragraphs).

While displaying the user interface (e.g., 1002), the electronic device(e.g., 600) detects (1104) a first portion of an input (e.g., 1001,1005, a rotational input on the rotatable input element or a touchgesture on the touch-sensitive display) at the device. Detecting arotational input via an input element (e.g., a rotatable input element)enhances usability and user efficiency of the device by enabling a userto quickly, easily, and intuitively navigate/scroll through displayedcontent. This is in turn enhances the operability of the device andmakes the user-device interface more efficient (e.g., by helping theuser to provide proper inputs and reducing user mistakes whenoperating/interacting with the device) which, additionally, reducespower usage and improves battery life of the device by enabling the userto use the device more quickly and efficiently.

In response to detecting a first portion of the input (e.g., 1001,1005), the electronic device (e.g., 600) moves (1106) a user interfaceobject (e.g., 1004, a unit of content of the user interface) across thedisplay of the device in accordance with the movement of the input.Moving the user interface object across the display in accordance withthe movement of the input provides visual feedback that the rotationalinput is controlling the movement of the user interface object.Providing improved visual feedback to the user enhances the operabilityof the device and makes the user-device interface more efficient (e.g.,by helping the user to provide proper inputs and reducing user mistakeswhen operating/interacting with the device) which, additionally, reducespower usage and improves battery life of the device by enabling the userto use the device more quickly and efficiently.

After detecting the first portion of the input, the electronic device(e.g., 600) detects (1108) a second portion of the input (e.g., 1003,1007) at the device (e.g., an end of the input or movement of the userinterface object beyond (e.g., 1004) a threshold amount, where thesecond portion of the input is a continuation of the first portion ofthe same input).

In response to detecting (1110) the second portion of the input (e.g.,1003, 1007, an end of the input or movement of the user interface object(e.g., 1004) beyond a threshold amount), in accordance with adetermination that the input (e.g., 1007) includes movement of a contacton the touch-sensitive display (e.g., 602) and that the movement movesthe user interface object across the display by more than a firstthreshold amount (e.g., before an end of the input is detected), theelectronic device (e.g., 600) moves (1112) (e.g., by snapping) the userinterface object to a respective (e.g., predefined) position on thedisplay. In some embodiments, the movement of the user interface objectto the respective position on the display occurs upon detecting an endof the input (e.g., liftoff of the contact). In some embodiments, themovement of the user interface object to the respective position on thedisplay occurs upon detecting movement of the user interface object bymore than the first threshold amount without regard to whether or notthe input has ended. In some embodiments, moving the user interfaceobject to the respective (e.g., predefined) position on the displaycomprises “snapping” the user interface object to the respectiveposition on the display, where “snapping” the user interface objectcomprises moving and aligning the object to the next alignment point(e.g., the respective position) on the display.

In response to detecting (1110) the second portion of the input (e.g.,1003, 1007, an end of the input or movement of the user interface object(e.g., 1004) beyond a threshold amount), in accordance with adetermination that the input (e.g., 1007) includes movement of a contacton the touch-sensitive display (e.g., 602) and that the movement movesthe user interface object across the display by less than the firstthreshold amount (e.g., before an end of the input is detected), theelectronic device (e.g., 600) forgoes moving (1114) the user interfaceobject to the respective (e.g., predefined) position on the display.Forgoing moving the user interface object to the respective position onthe display in response to an input provides visual feedback that theinput is insufficient to move the user interface object to therespective position. Further, it helps to prevent a user from accidentlymoving the user interface object to the respective position on thedisplay against the user's intention. Providing improved visual feedbackand additional control options and reducing the number of inputs neededto perform an operation enhances the operability of the device and makesthe user-device interface more efficient (e.g., by helping the user toprovide proper inputs and reducing user mistakes whenoperating/interacting with the device) which, additionally, reducespower usage and improves battery life of the device by enabling the userto use the device more quickly and efficiently.

In response to detecting (1110) the second portion of the input (e.g.,1003, 1007, an end of the input or movement of the user interface object(e.g., 1004) beyond a threshold amount), in accordance with adetermination that the input (e.g., 1003) includes rotational inputdirected to the rotatable input element (e.g., 604) and that therotational input moves the user interface object across the display bymore than a second threshold amount that is less than the firstthreshold amount (e.g., before an end of the input is detected), theelectronic device (e.g., 600) moves (1116) (e.g., by snapping) the userinterface object to the respective (e.g., predefined) position on thedisplay (e.g., the object snaps into the respective position on thedisplay even if it moves by less than the first threshold amount so longas it moves by more than the second threshold amount). In someembodiments, the movement of the user interface object to the respectiveposition on the display occurs upon detecting an end of the input (e.g.,an end of a touch on the rotatable input element or ceasing to detectrotation of the rotatable input element for at least a threshold amountof time). In some embodiments, the movement of the user interface objectto the respective position on the display occurs upon detecting movementof the user interface object by more than the first threshold amountwithout regard to whether or not the input has ended.

In response to detecting (1110) the second portion of the input (e.g.,1003, 1007, an end of the input or movement of the user interface object(e.g., 1004) beyond a threshold amount), in accordance with adetermination that the input (e.g., 1003) includes rotational inputdirected to the rotatable input element (e.g., 604) and that therotational input moves the user interface object across the display byless than the second threshold amount (e.g., before an end of the inputis detected), the electronic device (e.g., 600) forgoes moving (1118)the user interface object to the respective (e.g., predefined) positionon the display. In some embodiments, the second portion of the inputincludes one or more of: liftoff of the contact from the touch-sensitivedisplay or ceasing to detect a touch on the rotatable input element orceasing to detect rotation of the rotatable input element for more thana threshold amount of time, or detecting rotation of the rotatable inputelement that moves the user interface object across the display by morethan the second threshold amount.

In some embodiments, in response to detecting (1110) the second portionof the input (e.g., 1003, 1007, an end of the input or movement of theuser interface object (e.g., 1004) beyond a threshold amount), inaccordance with a determination that the input (e.g., 1007) includesmovement of a contact on the touch-sensitive display (e.g., 602) andthat the movement moves the user interface object across the display byless than the first threshold amount, the electronic device (e.g., 600)moves (1132) (e.g., by snapping) the user interface object back in theopposite direction (e.g., snapping the user interface object back to theprevious location of the user interface object before the inputstarted).

In some embodiments, in response to detecting (1110) the second portionof the input (e.g., 1003, 1007, an end of the input or movement of theuser interface object (e.g., 1004) beyond a threshold amount), inaccordance with a determination that the input (e.g., 1003) includesrotational input directed to the rotatable input element (e.g., 604) andthat the rotational input moves the user interface object across thedisplay by less than the second threshold amount, the electronic device(e.g., 600) moves (1134) (e.g., by snapping) the user interface objectback in the opposite direction (e.g., snapping the user interface objectback to the previous location of the user interface object before theinput started). Setting a higher threshold for moving the user interfaceobject to the respective position on the display for one type of input(e.g., a touch input) over a different type of input (e.g., a rotationalinput on the input element) helps to prevent a user from accidentlymoving the user interface object to the respective position on thedisplay against the user's intention when one type of input (e.g., atouch input) is more prone to accidental inputs than the different typeof input (e.g., the rotational input). Providing additional controloptions and reducing the number of inputs needed to perform an operationenhances the operability of the device and makes the user-deviceinterface more efficient (e.g., by helping the user to provide properinputs and reducing user mistakes when operating/interacting with thedevice) which, additionally, reduces power usage and improves batterylife of the device by enabling the user to use the device more quicklyand efficiently.

In some embodiments, the electronic device (e.g., 600) includes a (e.g.,single) tactile output generator (e.g., wherein the tactile outputgenerator is located in and is connected to (e.g., and configured togenerate tactile outputs to) the rotatable input element (e.g., 604) anda housing of the electronic device).

In some embodiments, the electronic device (e.g., 600) includes one ormore tactile output generators that generate localized tactile outputsdirected to the rotatable input element (e.g., 604) and one or moreseparate tactile output generators that generate tactile outputs for theelectronic device that are not specifically directed to the rotatableinput element (e.g., and instead is located in and is connected to(e.g., and configured to generate tactile outputs to) a main housing ofthe electronic device or generate tactile outputs that are localized toa different component of the electronic device). In some embodiments,the tactile output generator located in or near the rotatable inputelement, and is configured to generate tactile outputs that move therotatable input element relative to the housing (e.g., by moving theshaft of the rotatable input element).

In some embodiments, the one or more tactile output generators areconfigured to (e.g., in addition to generating tactile outputs) generateaudio outputs (e.g., wherein the audio outputs correspond to and/or areassociated with tactile outputs generated by the one or more tactileoutput generators and are generated in a coordinated manner with thetactile outputs to generate combined audio/tactile outputs).

In some embodiments, in response to detecting (1110) the second portionof the input (e.g., an end of the input or movement of the userinterface object beyond a threshold amount), in accordance with thedetermination that the input (e.g., 1003) includes rotational inputdirected to the rotatable input element (e.g., 604) and that therotational input meets criteria for moving (e.g., snapping) the userinterface object (e.g., 1004) to the respective (e.g., predefined)position on the display, the electronic device (e.g., 600) moves (1136)the user interface object to the respective position on the display inconjunction with generating (e.g., via the one or more tactile outputgenerators) a tactile output (e.g., a sequence of tactile outputs)corresponding to the movement of the user interface object. In someembodiments, if the displayed content is a first type of content (e.g.,continuous content, such as continuous text), the tactile outputincludes a first type of tactile output sequence (e.g., a texturaltactile output sequence) that includes one or more tactile outputsdetermined based on an input metric (e.g., a speed and/or magnitude) ofthe input. In some embodiments, if the displayed content is a secondtype of content (e.g., discrete content, such as buttons, affordances,rows, platters, paragraphs), the tactile output includes a second typeof tactile output sequence (e.g., a content-driven tactile outputsequence) that includes one or more tactile outputs determined based onmovement of predefined units of content in the user interface. In someembodiments, in response to detecting (1110) the second portion of theinput, in accordance with the determination that the input includesmovement of a contact on the touch-sensitive display that meets criteriafor moving (e.g., snapping) the user interface object to the respective(e.g., predefined) position on the display, the electronic device moves(1138) the user interface object to the respective position on thedisplay without generating (e.g., via the one or more tactile outputgenerators) the tactile output. Generating the tactile output for onetype of input (e.g., a rotational input on the input element) but notfor another type of input (e.g., a touch input) enables the device toconserve battery power and thus improve battery life by providingsensory feedback for (e.g., only for) types of input that will have agreater benefit to user experience and convenience if the sensoryfeedback were provided.

In some embodiments, an amplitude of the tactile output is based on(e.g., corresponds to) a size of the user interface object (e.g., 1004).In some embodiments, the amplitudes of the one or more tactile outputsare larger if the user interface object is a relatively larger objectand are smaller if the user interface object is a relatively smallerobject.

In some embodiments, the tactile output (e.g., a sequence of tactileoutputs) corresponding to the movement (e.g., snapping) of the userinterface object (e.g., 1004) to the respective (e.g., predefined)position on the display (e.g., 602) comprise a tactile output sequencehaving a first predetermined frequency range (e.g., 180-200 Hz) that isdifferent from a second predetermined frequency range (e.g., around 100Hz) corresponding to a tactile output sequence associated withdisplaying a notification (e.g., for an alert, for an incomingelectronic communication) on the display. Thus, from the perspective ofa user of the electronic device (e.g., 600), the sensory sensationexperienced from tactile output sequence having the first predeterminedfrequency (e.g., 180-200 Hz) and from the tactile output sequence havingthe second predetermined frequency (e.g., around 100 Hz) aredistinguishable.

In some embodiments, while displaying the user interface (e.g., 1002),the electronic device (e.g., 600) detects (1120) a second input (e.g., apress input, a press-and-hold input, an input applied with a downwardpressing force, a non-rotational input, a non-rotational touch input, atap input) directed to the rotatable input element (e.g., 604). In someembodiments, in response to detecting the second input directed to therotatable input element, the electronic device forgoes (e.g.,suppresses) generating (1122), via the one or more tactile outputgenerators, tactile output corresponding to rotation of the rotatableinput element (e.g., even when the second input includes both a press ofthe rotatable input element and rotational input directed to therotatable input element). Thus, in some embodiments, certain types ofinputs on the rotatable input element (e.g., a rotatable input thatcauses a modification of the user interface) causes the electronicdevice to generate (e.g., via a tactile output generator) tactileoutputs, whereas certain types of inputs on the rotatable input element(e.g., a press input, a press-and-hold input, or a touch input) does notcause the electronic device to generate (e.g., via a tactile outputgenerator) tactile outputs.

In some embodiments, while displaying the user interface (e.g., 1002),the electronic device (e.g., 600) detects (1124) a third input directedto the rotatable input element (e.g., 604). In some embodiments, inresponse to detecting (1126) the third input directed to the rotatableinput element, in accordance with a determination that the third inputincludes rotation of the rotatable input element without a press of therotatable input element, the electronic device generates (1128), via theone or more input devices, tactile output corresponding to rotation ofthe rotatable input element. In some embodiments, in response todetecting (1134) the third input directed to the rotatable inputelement, in accordance with a determination that the third inputincludes rotation of the rotatable input element and a press of therotatable input element, the electronic device forgoes generating(1130), via the one or more tactile output generators, the tactileoutput corresponding to rotation of the rotatable input element.

Note that details of the processes described above with respect tomethod 1100 (e.g., FIG. 11A-11C) are also applicable in an analogousmanner to the methods described above and below. For example, method 700optionally includes one or more of the characteristics of the variousmethods described above with reference to method 1100. For example, atactile output sequence, as described in method 700, is generated when auser interface object aligns to a focal point. For another example,method 900 optionally includes one or more of the characteristics of thevarious methods described above with reference to method 1100. Forexample, a rubberbanding effect, as described in method 900, can beprovided when reaching the end of a user interface via a rotationalinput on an input element. For another example, method 1300 optionallyincludes one or more of the characteristics of the various methodsdescribed above with reference to method 1100. For example, the tactileoutput sequence generated upon an alignment, as described in method1300, can also be generated upon an alignment of a user interface objectto a focal point. For another example, method 1500 optionally includesone or more of the characteristics of the various methods describedabove with reference to method 1100. For example, dynamic tactileoutputs, as described in method 1500, can be provided when scrollinguser interface objects via a rotational input on an input element. Forbrevity, these details are not repeated below.

FIGS. 12A-12L illustrate exemplary user interfaces f associated withadjustable item-based tactile outputs, in accordance with someembodiments. The user interfaces in these figures are used to illustratethe processes described below, including the processes in FIGS. 13A-13B.

FIG. 12A illustrates electronic device 600 displaying, on display 602, atime setting user interface 1202 (e.g., for setting the current time,for setting a timer, for setting an alarm). Time setting user interface1202 includes an hour setting 1204 and a minute setting 1206. Timesetting interface 1202 also includes a current unit indicator 1208indicating the currently-selected unit (e.g., hour or minute) to beadjusted. In FIG. 12A, the currently-selected unit is hour, as indicatedby indicator 1208 (e.g., by highlighting hour setting 1204). Timesetting user interface 1202 also includes a plurality of selectableoptions 1210 used to select a new setting for the currently-selectedunit (e.g., a new hour setting or a new minute setting). In FIG. 12A,the currently-selected unit is hour, and thus selectable options 1210show the selectable hour units (e.g., as tickmarks and/or as numericalvalues between 1 and 12), where each selectable unit corresponds to analignment point. Time setting user interface 1202 also includes acurrent selection indicator 1212 (e.g., a circular object or arectangular object) that moves along selectable options 1210 to indicatethe currently-selected new unit value and, while moving along selectableoptions 1210, aligns to (e.g., “snaps” to) each alignment point. In FIG.12A, current selection indicator 1212 is at a position on selectableoptions 1210 corresponding to the hour 2.

In FIG. 12A, while displaying time setting user interface 1202 with houras the currently-selected unit, electronic device 600 detects, via inputelement 604, a rotational input 1201 (e.g., in a clockwise direction).

In FIG. 12B, in response to detecting rotational input 1201 on inputelement 604, electronic device 600 moves/navigates current selectionindicator 1212 from its previous alignment point (e.g., the 2 hourvalue) in selectable options 1210 in a clockwise direction towards anext alignment point in selectable options 1210 (e.g., the 3 hourvalue). In some embodiments, while current selection indicator 1212 ismoving between alignment points in selectable options 1210, electronicdevice 600 does not generate a tactile output (e.g., nor an audiooutput).

In FIG. 12C, as electronic device 600 continues detecting rotationalinput 1201 on input element 604, current selection indicator 1212 ismoved and aligns to (e.g., “snaps” to) a next alignment point inselectable options 1210 (e.g., the 3 hour value). Upon aligning to(e.g., “snapping” to) the next alignment point, electronic device 600generates, via the one or more tactile output generators, tactile outputsequence 610 and, in some embodiments, the audio output sequenceassociated with tactile output sequence 610. Electronic device 600 alsoupdates hour setting 1204 to reflect the currently-selected hour value(e.g., 3).

In FIG. 12D, in response to continuing to detect rotational input 1201on input element 604, current selection indicator 1212 is moved andaligns to (e.g., “snaps” to) a next alignment point in selectableoptions 1210 (e.g., the 4 hour value). Upon aligning to (e.g.,“snapping” to) the next alignment point, electronic device 600generates, via the one or more tactile output generators, tactile outputsequence 610 and, in some embodiments, the audio output sequenceassociated with tactile output sequence 610. Electronic device 600 alsoupdates hour setting 1204 to reflect the currently-selected hour value(e.g., 4).

In FIG. 12D, after hour setting 1204 is set to the new hour value (e.g.,4), electronic device 600 detects, via input element 604, a rotationalinput 1203 (e.g., in a counter-clockwise direction).

In FIG. 12E, in response to detecting rotational input 1203 on inputelement 604, electronic device 600 moves/navigates current selectionindicator 1212 from its previous alignment point (e.g., the 4 hourvalue) in selectable options 1210 in a counter-clockwise directiontowards a previous alignment point in selectable options 1210 (e.g., the3 hour value). Upon aligning to (e.g., “snapping” to) the previousalignment point, electronic device 600 generates, via the one or moretactile output generators, tactile output sequence 610 and, in someembodiments, the audio output sequence associated with tactile outputsequence 610. Electronic device 600 also updates hour setting 1204 toreflect the currently-selected hour value (e.g., 3).

In FIG. 12F, while displaying time user interface 1202 with hour set asthe currently-selected unit, electronic device 600 detects (e.g., via atouch-sensitive surface of display 602) an input 1205 (e.g., a tapgesture) on minute setting 1206.

In FIG. 12G, in response to detecting input 1205 on minute setting 1206,electronic device 600 moves current unit indicator 1208 from hoursetting 1204 to minute setting 1206. Further, electronic device 600updates selectable options 1210 to show the selectable minute units(e.g., as tickmarks and/or as numerical values that are between 0 and59), where each selectable unit corresponds to an alignment point.Further, current selection indicator 1212 indicates the currently-setminute value (e.g., 15).

In FIG. 12G, while displaying time user interface 1202 with minute setas the currently-selected unit, electronic device 600 detects, via inputelement 604, a rotational input 1207 (e.g., in a counter-clockwisedirection).

In FIG. 12H, in response to detecting rotational input 1207 on inputelement 604, electronic device 600 moves/navigates current selectionindicator 1212 from its previous alignment point (e.g., the 15 minutevalue) in selectable options 1210 in a counter-clockwise directiontowards a previous alignment point in selectable options 1210 (e.g., the14 minute value). In some embodiments, upon aligning to (e.g.,“snapping” to) the previous alignment point, electronic device 600generates, via the one or more tactile output generators, a tactileoutput sequence 1220 (e.g., a “majored-reduced” tactile output sequence,as described in Table 1/a modified version of tactile output sequence610) and, in some embodiments, the audio output sequence associated withtactile output sequence 1220. Alternatively, in some embodiments,electronic device 600 generates the first type of tactile outputsequence and the audio output sequence associated with tactile outputsequence 610. Electronic device 600 also updates minute setting 1206 toreflect the currently-selected minute value (e.g., 14).

In FIG. 12I, as electronic device 600 continues detecting rotationalinput 1207 on input element 604, current selection indicator 1212 ismoved and aligns to (e.g., “snaps” to) a previous alignment point inselectable options 1210 (e.g., the 13 minute value). Upon aligning to(e.g., “snapping” to) the previous alignment point, electronic device600 generates, via the one or more tactile output generators, tactileoutput sequence 1220 and, in some embodiments, the audio output sequenceassociated with tactile output sequence 1220. Electronic device 600 alsoupdates minute setting 1206 to reflect the currently-selected hour value(e.g., 13).

In FIG. 12J, in response to detecting rotational input 1207 on inputelement 604, electronic device 600 moves and aligns (e.g., “snaps”)current selection indicator 1212 to a previous alignment point inselectable options 1210 (e.g., the 12 minute value). Upon aligning to(e.g., “snapping” to) the previous alignment point, electronic device600 generates, via the one or more tactile output generators, tactileoutput sequence 1220 and, in some embodiments, the audio output sequenceassociated with tactile output sequence 1220. Electronic device 600 alsoupdates minute setting 1206 to reflect the currently-selected hour value(e.g., 12).

Subsequently, electronic device 600 further detects, via input element604, a rotational input 1209 (e.g., in a clockwise direction). In FIG.12K, in response to detecting rotational input 1209 on input element604, electronic device 600 moves and aligns (e.g., “snaps”) currentselection indicator 1212 to a next alignment point in selectable options1210 (e.g., the 13 minute value). Upon aligning to (e.g., “snapping” to)the previous alignment point, electronic device 600 generates, via theone or more tactile output generators, tactile output sequence 1220 and,in some embodiments, the audio output sequence associated with tactileoutput sequence 1220. Electronic device 600 also updates minute setting1206 to reflect the currently-selected hour value (e.g., 13).

In FIG. 12L, while displaying time user interface 1202 with a new hoursetting (e.g., 3) and a new minute setting (e.g., 13), electronic device600 detects (e.g., via a touch-sensitive surface of display 602), aninput 1211 on a set affordance 1214 for confirming the new time setting.In response to detecting input 1211 on set affordance 1214, electronicdevice 600 sets a time (e.g., the current time, a timer, an alarm) tothe newly-selected time.

FIGS. 13A-13B are a flow diagram illustrating a method for managing userinterfaces associated with adjustable item-based tactile outputs, inaccordance with some embodiments. Method 1300 is performed at a device(e.g., 100, 300, 500, 600) with a display, an input element (e.g., arotatable input device that is rotatable relative to a housing of thedevice; a rotatable input device/mechanism that includes a fixed socketand a rotatable component (e.g., a crown) attached to or affixed to ashaft, where the rotatable component and shaft rotate together in thefixed socket; a rotatable input device/mechanism that includes arotatable component (e.g., a crown) that rotates relative to a fixedcomponent (e.g., a fixed shaft); a rotatable input device/mechanism thatrotates, in response to a rotational input, on an axis such that thedirection of the rotation is parallel to the display of the electronicdevice; a rotatable input device/mechanism that can detect rotationalinput (e.g., via a touch-detection mechanism) without the device itselfbeing physically rotated; a rotatable and press-able input device; arotatable crown), and one or more tactile output generators (e.g.,located in the input element and/or located in the main housing of theelectronic device). Some operations in method 1300 are, optionally,combined, the orders of some operations are, optionally, changed, andsome operations are, optionally, omitted.

As described below, method 1300 provides an intuitive way for managinguser interfaces associated with content-based tactile outputs. Themethod reduces the cognitive burden on a user for managing andnavigating user interfaces, thereby creating a more efficienthuman-machine interface. For battery-operated computing devices,enabling a user to navigate user interfaces faster and more efficientlyby providing content-based tactile outputs conserves power and increasesthe time between battery charges.

The electronic device (e.g., 600) displays (1302), on the display (e.g.,602), a user interface (e.g., 1202, a time user interface correlated tochanging a time setting of the device) that includes a first adjustableitem (e.g., 1204, a first time item, such as hours) and a secondadjustable item (e.g., 1206, a second time item, such as minutes). Insome embodiments, the user interface is a time user interface, where thetime user interface includes a display of the current time, and wherethe current hour is displayed in the first adjustable item and thecurrent minute is displayed in the second adjustable item. In someembodiments, the time user interface includes a plurality of selectablesetting options (e.g., 1210) that are used to adjust the firstadjustable time item or the second adjustable time item. In someembodiments, the plurality of selectable setting options surround (e.g.,in a circular shape, such as a wheel) the current time setting that isdisplayed at the center of the time user interface. Displaying the firstand second adjustable items together with the selectable settingsoptions enables a user to quickly and easily view adjustments being madeto an adjustable item while the adjustment is being made. Providingadditional control options and reducing the number of inputs needed toperform an operation enhances the operability of the device and makesthe user-device interface more efficient (e.g., by helping the user toprovide proper inputs and reducing user mistakes whenoperating/interacting with the device) which, additionally, reducespower usage and improves battery life of the device by enabling the userto use the device more quickly and efficiently.

In some embodiments, the first adjustable item corresponds to a firstportion (e.g., the hour of the time) of a user interface setting (e.g.,time) and the second adjustable item corresponds to a second portion(e.g., the minute of the time) of the user interface setting.

In some embodiments, the user interface corresponds to a time-settinguser interface (e.g., a “wheel of time” user interface), the firstadjustable item corresponds to an hour setting of the electronic device(e.g., for an alarm of the electronic device), and the second adjustableitem corresponds to a minute setting of the electronic device (e.g., foran alarm of the electronic device).

While displaying the user interface (e.g., 1202), the electronic device(e.g., 600) detects (1304), via the input element (e.g., 604), arotational input (e.g., 1201, 1203, 1205, 1207, 1209, in a clockwise orcounter-clockwise direction).

In response to detecting (1306) the rotational input (e.g. 1201, 1203,1205, 1207, 1209), in accordance with a determination (1308) that thefirst adjustable item (e.g., 1204) is currently-selected, the electronicdevice (e.g., 600) adjusts (1310), based on the rotational input, thefirst adjustable item (e.g., changing the current hour setting). Whileadjusting the first adjustable item, the electronic device generates(1312), via the one or more tactile output generators, a first sequenceof tactile outputs (e.g., 610) including one or more tactile outputshaving a first amplitude (e.g., without generating tactile outputshaving a second amplitude that is different from the first amplitude).Generating the first sequence of tactile outputs in response todetecting the rotational input improves sensory feedback and enhancesuser experience by enabling the user to perceive of adjustments beingmade to an adjustable item while the adjustments are being made.Providing additional control options and reducing the number of inputsneeded to perform an operation enhances the operability of the deviceand makes the user-device interface more efficient (e.g., by helping theuser to provide proper inputs and reducing user mistakes whenoperating/interacting with the device) which, additionally, reducespower usage and improves battery life of the device by enabling the userto use the device more quickly and efficiently.

In response to detecting (1306) the rotational input, in accordance witha determination (1318) that the second adjustable item (e.g., 1206) iscurrently-selected, the electronic device (e.g., 600) adjusts (1320)(e.g., without adjusting the first adjustable item), based on therotational input (e.g., 1201, 1203, 1205, 1207, 1209), the secondadjustable item (e.g., changing the current minute setting). Whileadjusting the second adjustable item, the electronic device generates(1322), via the one or more tactile output generators, a second sequenceof tactile outputs (e.g., 1220) including one or more tactile outputshaving a second amplitude that is different from the first amplitude(e.g., without generating tactile outputs having the first amplitude).In some embodiments, the second amplitude is smaller than the firstamplitude, and thus the second type of tactile output is asmaller-amplitude tactile output than the first type of tactile output.Generating the second sequence of tactile outputs while adjusting thesecond adjustable item and generating the first sequence of tactileoutputs while adjusting the first adjustable item improves feedback byenabling a user to quickly and easily recognize, without looking closelyinto the display, whether the user is adjusting the first or secondadjustable item. Providing improved visual feedback to the user enhancesthe operability of the device and makes the user-device interface moreefficient (e.g., by helping the user to provide proper inputs andreducing user mistakes when operating/interacting with the device)which, additionally, reduces power usage and improves battery life ofthe device by enabling the user to use the device more quickly andefficiently.

In some embodiments, adjusting, based on the rotational input (e.g.,1201, 1203, 1205, 1207, 1209, an input having an input magnitude (e.g.,an amount of rotation of the rotational input)), the first adjustableitem (e.g., 1204) comprises adjusting the first adjustable item by afirst number of values (e.g., values between 1 through 12 for hours). Insome embodiments, adjusting, based on the rotational input, the secondadjustable item (e.g., 1206) comprises adjusting the second adjustableitems by a second number of values, the second number of values (e.g.,values between 1 through 60 for minutes) different from the first numberof values. In some embodiments, the same magnitude of input (e.g., anamount of rotation) adjusts the values of the first adjustable item by agreater amount than that same magnitude of input adjusts the secondadjustable item.

In some embodiments, generating, via the one or more tactile outputgenerators, the first sequence of tactile outputs (e.g., 610) includingone or more tactile outputs having the first amplitude comprisesgenerating the first sequence of tactile outputs irrespective of thedirection (e.g., clockwise direction, counter-clockwise direction) ofthe rotational input (e.g., 1201, 1203, 1205, 1207, 1209). In someembodiments, generating, via the one or more tactile output generators,the second sequence of tactile outputs (e.g., 1220) including one ormore tactile outputs having the second amplitude comprises generatingthe second sequence of tactile outputs irrespective of the direction(e.g., clockwise direction, counter-clockwise direction) of therotational input.

In some embodiments, while adjusting the first adjustable item (e.g.,1204), the electronic device (e.g., 600) moves (1314), on the userinterface (e.g., 1202), an indicator (e.g., 1212) through a plurality ofpredetermined alignment points (e.g., 1210), where the indicator snapsto (e.g., aligns to, fits to, stops at) the alignment points of theplurality of alignment point of the predetermined alignment points, andthe one or more tactile outputs of the first sequence of tactile outputsare coordinated with the snapping of the indicator to the alignmentpoints of the plurality of alignment points. In some embodiments, theindicator snapping to an alignment point comprises using a particularthreshold to determine the amount of rotation of the rotatable inputelement is required to reach the alignment point, and if the thresholdis not reached, then snapping to a prior alignment point, and if thethreshold is reached, then snapping to the next alignment point. Movingthe indicator through the plurality of predetermined alignment pointsimproves visual feedback by enabling the user to quickly and easily viewadjustments being made to the first or second adjustable items in anintuitive manner. Providing improved visual feedback to the userenhances the operability of the device and makes the user-deviceinterface more efficient (e.g., by helping the user to provide properinputs and reducing user mistakes when operating/interacting with thedevice) which, additionally, reduces power usage and improves batterylife of the device by enabling the user to use the device more quicklyand efficiently.

In some embodiments, while adjusting the first adjustable item (e.g.,1204), the electronic device (e.g., 600) displays (1316), on the display(e.g., 602), the plurality of predetermined alignment points (e.g.,1210), where the plurality of predetermined alignment points includes afirst number of alignment points. In some embodiments, while adjustingthe second adjustable item (e.g., 1206), the electronic device displays(1324), on the display, a second plurality of predetermined alignmentpoints (e.g., 1210), where the second plurality of predeterminedalignment points includes a second number of alignment points differentfrom the first number. In some embodiments, the first adjustable itemcorresponds to the hour setting of a time, and each of the plurality ofpredetermined alignment points corresponds to a particular hour setting.Thus, in some embodiment, the first number is twelve, with eachalignment point corresponding to a particular hour setting. In someembodiments, the second adjustable item corresponds to the minutesetting of a time, and each of the plurality of predetermined alignmentpoints corresponds to a particular minute setting. Thus, in someembodiments, the second number is sixty, with each alignment pointcorresponding to a particular minute setting.

In some embodiments, in response to detecting (1326) the rotationalinput (e.g., 1201, 1203, 1205, 1207, 1209), in accordance with adetermination that the rotational input is of a first rotational speed,the electronic device (e.g., 600) moves (1328) the indicator (e.g.,1212) through the plurality of displayed values (e.g., 1210) at a firstspeed associated with the first rotational speed. In some embodiments,in response to detecting (1326) the rotational input, in accordance witha determination that the rotational input is of a second rotation speeddifferent from the first rotational speed, the electronic device moves(1330) the indicator through the plurality of displayed values at asecond speed associated with the second rotational speed, the secondspeed different from the first speed. In some embodiments, if the secondrotational speed of the rotational input is greater than the firstrotational speed, the second speed of the indicator moving through theplurality of displayed values is greater than the first speed of theindicator, and if the second rotational speed of the rotational input isslower than the second rotational speed, then the second speed of theindicator moving through the plurality of displayed values is slowerthan the first speed of the indicator.

In some embodiments, while displaying the user interface (e.g., 1202)and while the first adjustable item (e.g., 1204) is a currently-selectedadjustable item, the electronic device (e.g., 600) detects (1332) (e.g.,via one or more input devices of the electronic device, such as atouch-sensitive surface of the display) a first input (e.g., 1205, a tapgesture on the display). In some embodiments, in response to detectingthe first input, the electronic device sets (1334) the second adjustableitem (e.g., 1206) (e.g., instead of the first adjustable item) as thecurrently-selected adjustable item.

Note that details of the processes described above with respect tomethod 1300 (e.g., FIGS. 13A-13B) are also applicable in an analogousmanner to the methods described above and below. For example, method 700optionally includes one or more of the characteristics of the variousmethods described above with reference to method 1300. For example, oneor more of the different types of tactile output sequences described inmethod 700 can be provided while navigating the time setting userinterface. For another example, method 900 optionally includes one ormore of the characteristics of the various methods described above withreference to method 1300. For example, in method 900, different types oftactile output sequences can be generated while scrolling content andwhen reaching an end of content, while in method 1300, different typesof tactile output sequences can be generated when adjusting a firstadjustable item and a second adjustable item. For another example,method 1100 optionally includes one or more of the characteristics ofthe various methods described above with reference to method 1300. Forexample, as in method 1100, tactile outputs are generated upon a userinterface object, item, or element aligning to (e.g., “snapping” to) analignment if the user interface is navigated via a rotational input onan input element. For another example, method 1500 optionally includesone or more of the characteristics of the various methods describedabove with reference to method 1300. For example, as described in method1500, the magnitude/amplitude and/or rate of occurrence of the tactileoutputs can be dynamic in response to changes in speed of a rotationalinput while adjusting a time. For brevity, these details are notrepeated below.

FIGS. 14A-14H illustrate exemplary user interfaces associated with inputvelocity-based tactile outputs, in accordance with some embodiments. Theuser interfaces in these figures are used to illustrate the processesdescribed below, including the processes in FIGS. 15A-15C.

FIG. 14A illustrates electronic device 600 displaying, on display 602, auser interface 1402 of a messaging application (e.g., the emailapplication first described above with reference to FIGS. 6H-6S). InFIG. 14A, electronic device 600 displays, in user interface 1402, text1404 (e.g., comprising continuous text) corresponding to a continuoustype of user interface item/element.

In FIG. 14A, while displaying user interface 1402 with text 1404,electronic device 600 detects, via input element 604, a rotational input1401 (e.g., in a clockwise direction) comprising a respective amount ofrotation of input element 604, where rotational input 1401 has a firstrotational speed. In response to detecting rotational input 1401 oninput element 604 with the first rotational speed, electronic device 600begins scrolling text 1404. Further, electronic device 600 generates,via the one or more tactile output generators, tactile output sequence620, where tactile output sequence 620 has a first magnitude (e.g., anamplitude) and/or a first number of tactile outputs (e.g., discrete,individual tactile outputs) during the respective amount of rotation ofinput element 604 of rotational input 1401. As described in greaterdetail above with reference to FIGS. 5C-5H, in some embodiments, adiscrete, individual tactile output is one tactile output signal (e.g.,0.5, 1, or 2 cycle(s) of a tactile output waveform), and a tactileoutput sequence is a plurality of (e.g., the same) discrete, individualtactile outputs that are generated in sequence (e.g., for apredetermined amount of time).

In some embodiments, in addition to generating tactile output sequence620 in FIG. 14A, electronic device 600 also generates (e.g., via the oneor more tactile output generators used to generate the tactile outputs)the audio output sequence associated with tactile output sequence 620,where the audio output sequence has a first magnitude (e.g., anamplitude) and/or a first number of audio outputs (e.g., discrete,individual audio outputs) during the respective amount of rotation ofinput element 604 of rotational input 1401. In some embodiments, similarto a discrete, individual tactile output, a discrete, individual audiooutput is one audio output signal (e.g., 0.5, 1, or 2 cycle(s) of anaudio output waveform), and an audio output sequence is a plurality of(e.g., the same) discrete, individual audio outputs that are generatedin sequence (e.g., for a predetermined amount of time).

In FIG. 14B, subsequent to detecting rotational input 1401, electronicdevice 600 detects, via input element 604, a rotational input 1403(e.g., in a clockwise direction) comprising the respective amount ofrotation of input element 604, where rotational input 1403 has a secondrotational speed that is faster than the first rotational speed. Inresponse to detecting rotational input 1403 on input element 604 withthe second rotational speed, electronic device 600 scrolls text 1404(e.g., at a faster speed than in FIG. 14A). Further, electronic device600 generates, via the one or more tactile output generators, tactileoutput sequence 620, where tactile output sequence 620 has the samefirst magnitude and/or the same first number of tactile outputs (e.g.,discrete, individual tactile outputs) during the respective amount ofrotation of input element 604 of rotational input 1403.

In some embodiments, in addition to generating tactile output sequence620 in FIG. 14B, electronic device 600 also generates (e.g., via the oneor more tactile output generators used to generate the tactile outputs)the audio output sequence associated with tactile output sequence 620,where the audio output sequence has the same first magnitude and/or thesame first number of audio outputs (e.g., discrete, individual audiooutputs) during the respective amount of rotation of input element 604of rotational input 1403.

In FIG. 14C, subsequent to detecting rotational input 1403, electronicdevice 600 detects, via input element 604, a rotational input 1405(e.g., in a clockwise direction) comprising the respective amount ofrotation of input element 604, where rotational input 1403 has a thirdrotational speed that is even faster than the second rotational speed.In response to detecting rotational input 1405 on input element 604 withthe third rotational speed, electronic device 600 scrolls text 1404(e.g., at a faster speed than in FIG. 14B). Further, electronic device600 generates, via the one or more tactile output generators, tactileoutput sequence 620, where tactile output sequence 620 has a secondmagnitude and/or a second number of tactile outputs (e.g., discrete,individual tactile outputs) during the respective amount of rotation ofinput element 604 of rotational input 1405, where the second magnitudeis smaller than the first magnitude and the second number of tactileoutputs is smaller than the first number of tactile outputs.

In some embodiments, in addition to generating tactile output sequence620 in FIG. 14C, electronic device 600 also generates (e.g., via the oneor more tactile output generators used to generate the tactile outputs)the audio output sequence associated with tactile output sequence 620,where the audio output sequence has a second magnitude and/or a secondnumber of audio outputs (e.g., discrete, individual audio outputs)during the respective amount of rotation of input element 604 ofrotational input 1405, where the second magnitude is smaller than thefirst magnitude and the second number of audio outputs is smaller thanthe first number of audio outputs.

In FIG. 14D, subsequent to detecting rotational input 1405, electronicdevice 600 detects, via input element 604, a rotational input 1407(e.g., in a clockwise direction) comprising the respective amount ofrotation of input element 604, where rotational input 1407 has a fourthrotational speed that is even faster than the third rotational speed. Inresponse to detecting rotational input 1407 on input element 604 withthe fourth rotational speed, electronic device 600 scrolls text 1404(e.g., at a faster speed than in FIG. 14C). Further, electronic device600 generates, via the one or more tactile output generators, tactileoutput sequence 620, where tactile output sequence 620 has a thirdmagnitude and/or a third number of tactile outputs (e.g., discrete,individual tactile outputs) during the respective amount of rotation ofinput element 604 of rotational input 1407, where the third magnitude issmaller than the second magnitude and the third number of tactileoutputs is smaller than the second number of tactile outputs.

In some embodiments, in addition to generating tactile output sequence620 in FIG. 14D, electronic device 600 also generates (e.g., via the oneor more tactile output generators used to generate the tactile outputs)the audio output sequence associated with tactile output sequence 620,where the audio output sequence has a third magnitude and/or a thirdnumber of audio outputs (e.g., discrete, individual audio outputs)during the respective amount of rotation of input element 604 ofrotational input 1407, where the third magnitude is smaller than thesecond magnitude and the third number of audio outputs is smaller thanthe second number of audio outputs.

In FIG. 14E, subsequent to detecting rotational input 1407, electronicdevice 600 detects, via input element 604, a rotational input 1409(e.g., in a clockwise direction) comprising the respective amount ofrotation of input element 604, where rotational input 1409 has a fifthrotational speed that is even faster than the fourth rotational speed.In response to detecting rotational input 1409 on input element 604 withthe fifth rotational speed, electronic device 600 scrolls text 1404(e.g., at a faster speed than in FIG. 14D). Further, electronic device600 generates, via the one or more tactile output generators, tactileoutput sequence 620, where tactile output sequence 620 has the samethird magnitude and/or the same third number of tactile outputs (e.g.,discrete, individual tactile outputs) during the respective amount ofrotation of input element 604 of rotational input 1409.

In some embodiments, in addition to generating tactile output sequence620 in FIG. 14D, electronic device 600 also generates (e.g., via the oneor more tactile output generators used to generate the tactile outputs)the audio output sequence associated with tactile output sequence 620,where the audio output sequence has the same third magnitude and/or thesame third number of audio outputs (e.g., discrete, individual audiooutputs) during the respective amount of rotation of input element 604of rotational input 1409.

In FIG. 14F, while continuing to detect rotational input 1409 on inputelement 604, electronic device 600 displays (e.g., adjacent to/belowtext 1404) an affordance 1406 (e.g., a reply button) corresponding to adiscrete type of user interface item/element. Upon displaying (e.g.,fully displaying) affordance 1406 or, alternatively, upon affordance1406 aligning to a focal point or region of the display, such as acenter point or center region of the display, electronic device 600generates, via the one or more tactile output generators, tactile outputsequence 610 and, in some embodiments, the audio output sequencecorresponding to tactile output sequence 610.

FIG. 14G illustrates a graph 1410 on a x, y plane, where x-axis 1414corresponds to the speed of rotation of input element 604 and y-axis1412 corresponds to the magnitude (e.g., amplitude, strength) of adiscrete tactile output within a tactile output sequence (e.g., tactileoutput sequence 610, tactile output sequence 620). Graph 1410 includes acurve 1416 illustrating the relationship between the speed of rotationof input element 604 and the resulting magnitude of generated tactileoutputs.

In some embodiments, as shown by graph 1410, the magnitude (e.g.,amplitude) of generated tactile outputs remains constant when the speedof rotation of a detected rotational input on input element 604 is lessthan a speed 1418. The magnitude of generated tactile outputs decreases(e.g., linearly) when the speed of rotation of the detected rotationalinput on input element 604 is between speed 1418 and a speed 1420. Themagnitude of generated tactile outputs again remains constant when thespeed of rotation of the detected rotational input on input element 604is greater than speed 1420.

In some embodiments, the number of discrete tactile outputs that aregenerated for a respective rotation of input element 604 from a detectedrotational input shares a similar (e.g., but inverse) relationship withthe speed of rotation of the rotational input. That is, the number ofdiscrete tactile outputs for the respective rotation of input element604 remains constant when the speed of rotation of the detectedrotational input for the respective amount of rotation of input element604 is less than a first speed (e.g., speed 1418). The number ofgenerated tactile outputs becomes greater (e.g., linearly) as the speedof rotation of the detected rotational input for the respective amountof rotation of input element 604 increases between the first speed(e.g., speed 1418) and a second speed (e.g., speed 1420). The number ofdiscrete tactile outputs of generated tactile outputs remains constantwhen the speed of rotation of the detected rotational input for therespective amount of rotation of input element 604 is greater than thesecond speed (e.g., speed 1418).

FIG. 14H illustrates graph 1422 on a x, y plane, where x-axis 1426corresponds to the speed of rotation of input element 604 and y-axis1424 corresponds to the magnitude (e.g., amplitude, strength) of adiscrete tactile output within a tactile output sequence (e.g., tactileoutput sequence 610, tactile output sequence 620) or of a discrete audiooutput within an associated audio output sequence (e.g., the first audiooutput sequence associated with first tactile output sequence 610, thesecond audio output sequence associated with the second tactile outputsequence 620).

Graph 1422 includes a curve 1428 (e.g., similar to curve 1416)illustrating the relationship between the speed of rotation of inputelement 604 and the resulting magnitude of generated tactile outputs.Graph 1422 also includes a curve 1430 illustrating the relationshipbetween the speed of rotation of input element 604 and the resultingmagnitude of generated audio outputs.

In some embodiments, as shown by graph 1430, the magnitude (e.g.,amplitude) of generated audio outputs remains constant when the speed ofrotation of a detected rotational input on input element 604 is lessthan a speed 1430. The magnitude of generated audio outputs decreases(e.g., linearly) when the speed of rotation of the detected rotationalinput on input element 604 is between speed 1430 and a speed 1432. Themagnitude of generated audio outputs again remains constant when thespeed of rotation of the detected rotational input on input element 604is greater than speed 1432.

As shown in FIG. 14H, in some embodiments, the speeds that result inchanges to the magnitude of audio outputs, as indicated by audio curve1430 (e.g., speeds 1430 and 1432), is not the same as the speeds thatresult in changes to the magnitude of tactile outputs, as indicated bythe tactile output curve 1428 (e.g., speeds 1418 and 1420). Speed 1430can be less than, equal to, or greater than speed 1418 and, similarly,speed 1432 can be less than, equal to, or greater than speed 1420.

In some embodiments, the number of discrete audio outputs that aregenerated for a respective rotation of input element 604 from a detectedrotational input shares a similar (e.g., but inverse) relationship withthe speed of rotation of the rotational input. That is, the number ofdiscrete audio outputs for the respective amount of rotation of inputelement 604 remains constant when the speed of rotation of the detectedrotational input for the respective amount of rotation of input element604 is less than a first speed (e.g., speed 1430). The number ofgenerated audio outputs becomes greater (e.g., linearly) as the speed ofrotation of the detected rotational input for the respective amount ofrotation of input element 604 increases between the first speed (e.g.,speed 1430) and a second speed (e.g., speed 1432). The number ofdiscrete audio outputs respective amount of rotation of input element604 remains constant when the speed of rotation of the detectedrotational input for the respective amount of rotation of input element604 is greater than the second speed (e.g., speed 1432).

As with the magnitude of audio outputs, in some embodiments, the speedsthat result in changes to the number of discrete audio outputs (e.g.,speeds 1430 and 1432) respective amount of ration of rotational input604 is not the same as the speeds that result in changes to the numberof discrete tactile outputs for the respective amount of ration ofrotational input 604 (e.g., speeds 1418 and 1420). Speed 1430 can beless than, equal to, or greater than speed 1418 and, similarly, speed1432 can be less than, equal to, or greater than speed 1420.

FIGS. 15A-15C are a flow diagram illustrating a method for managing userinterfaces associated with input velocity-based tactile outputs, inaccordance with some embodiments. Method 1500 is performed at a device(e.g., 100, 300, 500, 600) with a display, a rotatable input element(e.g., a rotatable input device that is rotatable relative to a housingof the device, a rotatable input device/mechanism that includes arotatable component (e.g., a crown) that rotates relative to a fixedcomponent (e.g., a fixed shaft), a rotatable input device/mechanism thatrotates, in response to a rotational input, on an axis such that thedirection of the rotation is parallel to the display of the electronicdevice, a rotatable input device/mechanism that can detect rotationalinput (e.g., via a touch-detection mechanism) without the device itselfbeing physically rotated, a rotatable and press-able input device, arotatable crown), and one or more tactile output generators (e.g.,located in the input element and/or located in the main housing of theelectronic device). Some operations in method 1500 are, optionally,combined, the orders of some operations are, optionally, changed, andsome operations are, optionally, omitted.

As described below, method 1500 provides an intuitive way for managinguser interfaces associated with content-based tactile outputs. Themethod reduces the cognitive burden on a user for managing andnavigating user interfaces, thereby creating a more efficienthuman-machine interface. For battery-operated computing devices,enabling a user to navigate user interfaces faster and more efficientlyby providing content-based tactile outputs conserves power and increasesthe time between battery charges.

While displaying, on the display (e.g., 602), a user interface (e.g.,1402), the electronic device (e.g., 600) detects (1502), via therotatable input element (e.g., 604), a rotational input (e.g., 1401,1403, 1405, 1407, 1409, a continuous rotational input on the rotatableinput element that continues for a period of time, such as 1 second or 2seconds).

While detecting the rotational input (e.g., 1401, 1403, 1405, 1407,1409), the electronic device (e.g., 600) generates (1506), via the oneor more tactile output generators, a plurality of tactile outputs (e.g.,620, a sequence of tactile outputs (e.g., discrete, individual tactileoutputs)), where a type (e.g., a major-type of tactile output, aminor-type of tactile output, a major-reduced-type tactile output) ofthe tactile outputs is associated with a modification of the userinterface (e.g., 1402), and where, in accordance with a determination(1508) that a speed (e.g., rotational speed) of the rotational input(e.g., 1401) is a first speed (e.g., a first rotational speed), theelectronic device generates (1510) a first number of tactile outputs fora respective amount of rotation of the rotatable input element (e.g.,604), and in accordance with a determination (1514) that the speed(e.g., rotational speed) of the rotational input (e.g., 1405) is asecond speed (e.g., a second rotational speed) that is different from(e.g., faster than or slower than) the first speed, the electronicdevice generates (1516) a second number of tactile outputs (e.g.,different from the first number of tactile outputs) for the respectiveamount of rotation of the rotatable input element. Generating aplurality of tactile outputs in response to the rotational input, whereone or more characteristics (e.g., magnitude/amplitude, rate ofoccurrence) of the tactile outputs differ based on a rotation speed ofthe rotational input improves sensory feedback by enabling the user toquickly and easily perceive of the speed and which the user isnavigating/scrolling the user interface, and to adjust accordingly.Providing improved feedback to the user enhances the operability of thedevice and makes the user-device interface more efficient (e.g., byhelping the user to provide proper inputs and reducing user mistakeswhen operating/interacting with the device) which, additionally, reducespower usage and improves battery life of the device by enabling the userto use the device more quickly and efficiently.

In some embodiments, the second speed (e.g., 1420) is greater than thefirst speed (e.g., 1418) (e.g., the rotatable input element (e.g., 604)is rotated at a faster speed/rate for the second speed than for thefirst speed), and the second number of tactile outputs is smaller thanthe first number of tactile outputs for the respective amount ofrotation of the rotatable input element. In some embodiments, if thesecond speed is slower than the first speed (e.g., the rotatable inputelement is rotated at a slower speed/rate for the second speed than forthe first speed), the second number of tactile outputs is greater thanthe first number of tactile outputs for the same respective amount ofrotation of the rotatable input element.

In some embodiments, the second speed (e.g., 1420) is greater than thefirst speed (e.g., 1418) (e.g., the rotatable input element (e.g., 604)is rotated at a faster speed/rate for the second speed than for thefirst speed), and amplitudes of the second number of tactile outputs issmaller than amplitudes of the first number of tactile outputs. In someembodiments, if the second speed is slower than the first speed (e.g.,the rotatable input element is rotated at a slower speed/rate for thesecond speed than for the first speed), the amplitudes of the secondnumber of tactile outputs is greater than amplitudes of the first numberof tactile outputs.

In some embodiments, in accordance with the modification of the userinterface (e.g., 1402) being a first type of modification (e.g.navigating/scrolling continuous content, such as a notification orcontinuous text), the generated plurality of tactile outputs (e.g., 620)are (1536) of a first type (e.g., plurality of tactile outputs having afirst number of tactile outputs in the sequence and/or a firstamplitude). In some embodiments, in accordance with the modification ofthe user interface being a second type of modification (e.g.,navigating/scrolling discrete content, such as buttons, affordances,platters, paragraphs), the generated plurality of tactile outputs are(1538) of a second type different from the first type (e.g., pluralityof tactile outputs having a second number of tactile outputs in thesequence and/or a second amplitude). Generating a particular type oftactile outputs for a particular type of modification of the userinterface improves sensory feedback by enabling a user to quickly andeasily recognize the type of modification that was made to the userinterface, in particular if the modification was accidental and againstthe user's intent. Providing improved feedback to the user enhances theoperability of the device and makes the user-device interface moreefficient (e.g., by helping the user to provide proper inputs andreducing user mistakes when operating/interacting with the device)which, additionally, reduces power usage and improves battery life ofthe device by enabling the user to use the device more quickly andefficiently. In some embodiments, the type of the tactile outputs thatare generated is based (e.g., based at least in part) on contentdisplayed in the user interface that is being modified while therotational input (e.g., 1401, 1403, 1405, 1407, 1409) is detected, asdescribed above with reference to FIGS. 6A-6AF. In some embodiments, thetype of the tactile outputs that are generated is based (e.g., based atleast in part) on a direction (e.g., clockwise or counter-clockwise) ofthe rotational input.

In some embodiments, the number of tactile outputs of the plurality oftactile outputs (e.g., 620) is at least in part based on a sizecharacteristic (e.g., a size of the display of the device) of theelectronic device (e.g., 600). For example, the display (e.g., 602) ofthe electronic device is of a first size, the number of tactile outputsincluded in the plurality of tactile outputs is smaller than if thedisplay of the electronic device is of a second size, where the secondsize is larger than the first size.

In some embodiments, amplitudes of the plurality of tactile outputs(e.g., 620) are at least in part based on a size characteristic (e.g., asize of the display of the device) of the electronic device (e.g., 600).For example, if the display (e.g., 602) of the electronic device is of afirst size, the amplitudes are relatively smaller than if the display ofthe electronic device is of a second size, where the second size islarger than the first size. Basing (e.g., at least in part) the numberof tactile outputs of the plurality of tactile outputs and/or theamplitudes of the tactile outputs based on the size of the deviceimproves operability of the device by customizing the number of tactileoutputs to be functionality appropriate with the size of the device,which in turn makes the user-device interface more efficient (e.g., byhelping the user to provide proper inputs and reducing user mistakeswhen operating/interacting with the device) which, additionally, reducespower usage and improves battery life of the device by enabling the userto use the device more quickly and efficiently.

In some embodiments, while detecting (1504) the rotational input (e.g.,1401, 1403, 1405, 1407, 1409), in accordance with a determination (1524)that a speed (e.g., rotational speed) of the rotational input is a thirdspeed (e.g., a third rotational speed) that is faster than the firstspeed and slower than the second speed (e.g., the third speedcorresponds to a rotational speed that is in between the rotationalspeed corresponding to the first speed and the rotational speedcorresponding to the third speed), the electronic device (e.g., 600)generates (1526) the first number of tactile outputs (e.g., 620) for therespective amount of rotation of the rotatable input element (e.g.,604). Thus, in some embodiments, the number of tactile outputs generatedfor the respective amount of rotation of the rotatable input element atthe first speed of the rotational input and at the third speed of therotational input (e.g., where the third speed is faster than the firstspeed but slower than the second speed, and thus is a speed that isbetween the first and second speeds) is the same, but the number oftactile outputs generated for the respective amount of rotation of therotatable input element at the second speed is different from the numberof tactile outputs generated at the first and third speeds.

In some embodiments, while detecting (1504) the rotational input, inaccordance with the determination (1508) that the speed (e.g.,rotational speed) of the rotational input (e.g., 1401, 1403, 1405, 1407,1409) is the first speed (e.g., a first rotational speed), the pluralityof tactile outputs has (1512) a first amplitude. In some embodiments,while detecting (1504) the rotational input, in accordance with adetermination (1524) that a speed (e.g., rotational speed) of therotational input is a third speed (e.g., a third rotational speed) thatis faster than the first speed and slower than the second speed (e.g.,the third speed corresponds to a rotational speed that is in between therotational speed corresponding to the first speed and the rotationalspeed corresponding to the third speed), the plurality of tactileoutputs have (1528) the first amplitude. Thus, in some embodiments, theplurality of tactile outputs (e.g., 620) have the same amplitude whilethe rotational input is detected at the first speed and at the thirdspeed, even though the third speed is greater than the first speed. Insome embodiments, in accordance with the determination (1514) that thespeed (e.g., rotational speed) of the rotational input is the secondspeed (e.g., a second rotational speed) that is different from (e.g.,faster than or slower than) the first speed and from the third speed,the plurality of tactile outputs have (1518) a second amplitudedifferent from (e.g., greater than, smaller than) the first amplitude.In some embodiments, the second speed is a threshold speed of therotational input at which the rotational input causes the amplitudes ofthe plurality of tactile outputs to change (e.g., become bigger orsmaller).

In some embodiments, while detecting (1504) the rotational input, inaccordance with the determination (1514) that the speed (e.g.,rotational speed) of the rotational input (e.g., 1401, 1403, 1405, 1407,1409) is the second speed (e.g., a first rotational speed), a number ofthe tactile outputs for the respective amount of rotation of therotatable input element is (1520) a third number, where the third numbercorresponds to a minimum number (e.g., the smallest number of tactileoutputs generated by the electronic device). In some embodiments, inaccordance with a determination (1530) that a speed (e.g., rotationalspeed) of the rotational input is a fourth speed (e.g., a fourthrotational speed) that is faster than the second speed (e.g., the fourthspeed corresponds to a rotational speed that is greater than therotational speed corresponding to the second speed), the number oftactile outputs corresponds to (1532) the third number. Thus, in someembodiments, the electronic device (e.g., 600) does not generate asmaller number of tactile outputs than the third number (e.g., a minimumnumber) of tactile outputs even if the speed of the rotation inputfurther changes (e.g., becomes even faster).

In some embodiments, while detecting (1504) the rotational input (e.g.,1401, 1403, 1405, 1407, 1409), in accordance with the determination(1514) that the speed (e.g., rotational speed) of the rotational inputis the second speed (e.g., a first rotational speed), the plurality oftactile outputs have (1522) a third amplitude, where the third amplitudecorresponds to a minimum amplitude (e.g., the smallest greater-than-zerotactile output amplitude generated by the one or more tactile outputgenerators of the electronic device). In some embodiments, in accordancewith a determination (1530) that a speed (e.g., rotational speed) of therotational input is a fourth speed (e.g., a fourth rotational speed)that is faster than the second speed (e.g., the fourth speed correspondsto a rotational speed that is greater than the rotational speedcorresponding to the second speed), the plurality of tactile outputshave (1534) the third amplitude. Thus, in some embodiments, theplurality of tactile outputs have the same amplitude while therotational input is detected at the second speed and at the fourthspeed, even though the fourth speed is greater than the second speed.

In some embodiments, while detecting (1504) the rotational input (e.g.,1401, 1403, 1405, 1407, 1409), in accordance with a determination thatthe second speed corresponds to a maximum threshold speed (e.g., amaximum threshold rotational speed), the second number of tactileoutputs corresponds to (1526) a maximum number of tactile outputs thatcan be generated for the respective amount of rotation of the rotatableinput element. Thus, in some embodiments, even if the second speed goesover the maximum threshold speed, the second number of tactile outputsno longer increases (e.g., but rather stays constant at the maximumnumber of tactile outputs (e.g., at space of 15 ms between tactileoutputs).

In some embodiments, while detecting (1504) the rotational input (e.g.,1401, 1403, 1405, 1407, 1409), the electronic device (e.g., 600)generates (1540) (e.g., via the one or more tactile output generatorsand/or via one or more other output devices of the electronic device,such as one or more internal speakers and/or one or more externalspeakers (e.g., headphones, earphones) connected to the electronicdevice) a plurality of audio outputs associated with the plurality oftactile outputs. In some embodiments, in accordance with thedetermination that the speed of the rotational input is the first speed,the electronic device generates (1544) a first number of audio outputsfor the respective amount of rotation of the rotatable input element. Insome embodiments, in accordance with the determination that the speed ofthe rotation input is the second speed, the electronic device generates(1550) a second number of audio outputs for the respective amount ofrotation of the rotatable input element. Generating associated audiooutputs in addition to the tactile outputs provides another feedbackmethod, thus enhancing the operability of the device by enhancing theversatility of the device.

In some embodiments, the audio outputs are generated via the one or moretactile output generators (e.g., integrated into the rotatable inputelement and/or a housing of the electronic device).

In some embodiments, while detecting (1504) the rotational input (e.g.,1401, 1403, 1405, 1407, 1409), the electronic device (e.g., 600)generates (1540) (e.g., via the one or more tactile output generatorsand/or via one or more other output devices of the electronic device,such as one or more internal speakers and/or one or more externalspeakers (e.g., headphones, earphones) connected to the electronicdevice) a plurality of audio outputs associated with the plurality oftactile outputs. In some embodiments, in accordance with thedetermination (1542) that the speed of the rotational input is the firstspeed, the electronic device generates (1546) the audio outputs at afirst magnitude (e.g., a first volume) for the respective amount ofrotation of the rotatable input element. In some embodiments, inaccordance with the determination (1548) that the speed of the rotationinput is the second speed, the electronic device generates (1552) theaudio outputs at a second magnitude (e.g., a second volume) differentfrom the first magnitude (e.g., greater/louder than the first magnitudeor smaller/quieter than the first magnitude) for the respective amountof rotation of the rotatable input element.

In some embodiments, the second speed (e.g., 1420) is greater than thefirst speed (e.g., 1418) (e.g., the rotatable input element is rotatedat a faster speed/rate for the second speed than for the first speed),and the second number of audio outputs is smaller than the first numberof audio outputs for the respective amount of rotation of the rotatableinput element. In some embodiments, if the second speed is slower thanthe first speed (e.g., the rotatable input element is rotated at aslower speed/rate for the second speed than for the first speed), thesecond number of audio outputs is greater than the first number of audiooutputs for the respective amount of rotation of the rotatable inputelement.

In some embodiments, the difference in the number of outputs between thesecond number of audio outputs and the first number of audio outputs isdifferent from the difference in the number of outputs between thesecond number of tactile outputs and the first number of tactileoutputs. Thus, in some embodiments, when the speed of rotation of therotatable input element changes (e.g., becomes faster or becomesslower), the change in the number of audio outputs generated by theelectronic device for the respective amount of rotation of the rotatableinput element changes at a different rate than the change in the numberof tactile outputs generated by the electronic device for the respectiveamount of rotation of the rotatable input element.

In some embodiments, while detecting (1504) the rotational input (e.g.,1401, 1403, 1405, 1407, 1409), in accordance with a determination (1554)that the speed of the rotational input is of an initial speed (e.g., theinitial speed of the rotational input the moment/right after therotational input is detected), the electronic device (e.g., 600)generates (1556) an initial number of tactile outputs and an initialnumber of audio outputs for the respective amount of rotation of therotatable input element (e.g., 604). In some embodiments, whiledetecting (1504) the rotational input, in accordance with adetermination (1560) that the speed of the rotational input is of athreshold speed (e.g., the speed of the rotational input that firsttriggers a change in the number of tactile outputs that are generated),the electronic device generates (1562) a threshold number of tactileoutputs and the initial number of audio outputs for the respectiveamount of rotation of the rotatable input element, the threshold numberof tactile outputs different from (e.g., greater than) the initialnumber of tactile outputs. In some embodiments, in accordance with adetermination (1560) that the speed of the rotational input is of thethreshold speed, the electronic device generates the initial number oftactile outputs and a threshold number of audio outputs for therespective amount of rotation of the rotatable input element, thethreshold number of audio outputs different from (e.g., greater than)the initial number of audio outputs. In some embodiments, the tactileoutputs and the audio outputs are generated by the same tactile outputgenerators of the one or more tactile output generators.

In some embodiments, while detecting (1504) the rotational input (e.g.,1401, 1403, 1405, 1407, 1409), in accordance with a determination (1554)that the speed of the rotational input is of an initial speed (e.g., theinitial speed of the rotational input the moment/right after therotational input is detected), the electronic device (e.g., 600)generates (1558) the plurality of tactile outputs having an initialamplitude and the plurality of audio outputs having an initial magnitude(e.g., an initial volume) for the respective amount of rotation of therotatable input element. In some embodiments, while detecting (1504) therotational input, in accordance with a determination (1560) that thespeed of the rotational input is of a threshold speed (e.g., the speedof the rotational input that first triggers a change in the number oftactile outputs that are generated), the electronic device (e.g., 600)generates (1564) the plurality of tactile outputs having a thresholdamplitude and the plurality of audio outputs having the initialmagnitude (e.g., the initial volume) for the respective amount ofrotation of the rotatable input element, the threshold amplitudedifferent from (e.g., greater than) the initial amplitude. In someembodiments, in accordance with a determination that the speed of therotational input is of the threshold speed, the electronic devicegenerates the plurality of tactile outputs having the initial amplitudeand the plurality of audio outputs having a threshold magnitude for therespective amount of rotation of the rotatable input element, thethreshold magnitude different from (e.g., greater than) the initialmagnitude. In some embodiments, the tactile outputs and the audiooutputs are generated by the same tactile output generators of the oneor more tactile output generators.

In some embodiments, in accordance with the modification of the userinterface (e.g., 1402) corresponding to a navigation of the userinterface in a first direction (e.g., an upwards scrolling direction, aforwards navigation direction), the generated plurality of tactileoutputs (e.g., 620) and the generated plurality of audio outputs are ofa first type (e.g., plurality of tactile outputs having a first numberof tactile outputs in the sequence and/or a first amplitude, pluralityof audio outputs having a first number of audio outputs in the sequenceand/or a first magnitude). In some embodiments, in accordance with themodification of the user interface corresponding to a navigation of theuser interface in a second direction (e.g., a downwards scrollingdirection, a backwards navigation direction), the generated plurality oftactile outputs and the generated plurality of audio outputs are of asecond type different from the first type (e.g., plurality of tactileoutputs having a second number of tactile outputs in the sequence and/ora second amplitude, plurality of audio outputs having a second number ofaudio outputs in the sequence and/or a second magnitude).

In some embodiments, a particular type of tactile output corresponds toa particular tactile output pattern. For example, as described ingreater detail above with reference to FIGS. 5C-5H and in Table 1, atactile output pattern specifies characteristics of a tactile output,such as the amplitude of the tactile output, the shape of a movementwaveform of the tactile output, the frequency of the tactile output,and/or the duration of the tactile output. When tactile outputs withdifferent tactile output patterns are generated by a device (e.g., viaone or more tactile output generators that move a moveable mass togenerate tactile outputs), the tactile outputs may invoke differenthaptic sensations in a user holding or touching the device. While thesensation of the user is based on the user's perception of the tactileoutput, most users will be able to identify changes in waveform,frequency, and amplitude of tactile outputs generated by the device.

Similarly, in some embodiments, a particular type of audio outputcorresponds to a particular type of audio output pattern. For example,an audio output pattern specifies characteristics of an audio output,such as the magnitude/amplitude/volume of the audio output, the shape ofa sound waveform of the audio output, the frequency of the audio output,and/or the duration of the audio output. When audio outputs withdifferent audio output patterns are generated by a device (e.g., via oneor more tactile output generators that move a moveable mass to generateaudio outputs, via one or more speakers), the audio outputs may invokedifferent audio-related sensations in a user holding or touching thedevice or proximate to the device.

Note that details of the processes described above with respect tomethod 1500 (e.g., FIGS. 15A-15C) are also applicable in an analogousmanner to the methods described above. For example, method 700optionally includes one or more of the characteristics of the variousmethods described above with reference to method 1500. For example, thedifferent types of tactile and audio output sequences described inmethod 700 can be adjusted dynamically as described in method 1500. Foranother example, method 900 optionally includes one or more of thecharacteristics of the various methods described above with reference tomethod 1500. For example, the tactile and audio output sequencegenerated during scrolling of content described in method 900 can beadjusted dynamically as described in method 1500. For another example,method 1100 optionally includes one or more of the characteristics ofthe various methods described above with reference to method 1500. Forexample, the tactile and audio output sequences generated whilescrolling through user interface objects, items, or elements that alignto a focal point on the display as the objects, items, or elements arebeing scrolled can be adjusted dynamically as described in method 1500.For another example, method 1300 optionally includes one or more of thecharacteristics of the various methods described above with reference tomethod 1500. For example, the tactile outputs generated while adjustinga time setting, as described in method 1300, can be adjusted dynamicallyas described in method 1500. For brevity, these details are not repeatedbelow.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific embodiments. However, theillustrative discussions above are not intended to be exhaustive or tolimit the invention to the precise forms disclosed. Many modificationsand variations are possible in view of the above teachings. Theembodiments were chosen and described in order to best explain theprinciples of the techniques and their practical applications. Othersskilled in the art are thereby enabled to best utilize the techniquesand various embodiments with various modifications as are suited to theparticular use contemplated.

Although the disclosure and examples have been fully described withreference to the accompanying drawings, it is to be noted that variouschanges and modifications will become apparent to those skilled in theart. Such changes and modifications are to be understood as beingincluded within the scope of the disclosure and examples as defined bythe claims.

As described above, one aspect of the present technology is thegathering and use of data available from various sources to improvesensor feedback to users, and thus enhance user experience, convenience,and efficiency, as a user navigates through content of a user interfacedisplayed on an electronic device. The present disclosure contemplatesthat in some instances, this gathered data may include personalinformation data that uniquely identifies or can be used to contact orlocate a specific person. Such personal information data can includedemographic data, location-based data, telephone numbers, emailaddresses, twitter IDs, home addresses, data or records relating to auser's health or level of fitness (e.g., vital signs measurements,medication information, exercise information), date of birth, or anyother identifying or personal information.

The present disclosure recognizes that the use of such personalinformation data, in the present technology, can be used to the benefitof users. Further, other uses for personal information data that benefitthe user are also contemplated by the present disclosure.

The present disclosure contemplates that the entities responsible forthe collection, analysis, disclosure, transfer, storage, or other use ofsuch personal information data will comply with well-established privacypolicies and/or privacy practices. In particular, such entities shouldimplement and consistently use privacy policies and practices that aregenerally recognized as meeting or exceeding industry or governmentalrequirements for maintaining personal information data private andsecure. Such policies should be easily accessible by users, and shouldbe updated as the collection and/or use of data changes. Personalinformation from users should be collected for legitimate and reasonableuses of the entity and not shared or sold outside of those legitimateuses. Further, such collection/sharing should occur after receiving theinformed consent of the users. Additionally, such entities shouldconsider taking any needed steps for safeguarding and securing access tosuch personal information data and ensuring that others with access tothe personal information data adhere to their privacy policies andprocedures. Further, such entities can subject themselves to evaluationby third parties to certify their adherence to widely accepted privacypolicies and practices. In addition, policies and practices should beadapted for the particular types of personal information data beingcollected and/or accessed and adapted to applicable laws and standards,including jurisdiction-specific considerations. For instance, in the US,collection of or access to certain health data may be governed byfederal and/or state laws, such as the Health Insurance Portability andAccountability Act (HIPAA); whereas health data in other countries maybe subject to other regulations and policies and should be handledaccordingly. Hence different privacy practices should be maintained fordifferent personal data types in each country.

Despite the foregoing, the present disclosure also contemplatesembodiments in which users selectively block the use of, or access to,personal information data. That is, the present disclosure contemplatesthat hardware and/or software elements can be provided to prevent orblock access to such personal information data. In addition to providing“opt in” and “opt out” options, the present disclosure contemplatesproviding notifications relating to the access or use of personalinformation. For instance, a user may be notified upon downloading anapp that their personal information data will be accessed and thenreminded again just before personal information data is accessed by theapp.

Moreover, it is the intent of the present disclosure that personalinformation data should be managed and handled in a way to minimizerisks of unintentional or unauthorized access or use. Risk can beminimized by limiting the collection of data and deleting data once itis no longer needed. In addition, and when applicable, including incertain health related applications, data de-identification can be usedto protect a user's privacy. De-identification may be facilitated, whenappropriate, by removing specific identifiers (e.g., date of birth,etc.), controlling the amount or specificity of data stored (e.g.,collecting location data a city level rather than at an address level),controlling how data is stored (e.g., aggregating data across users),and/or other methods.

Therefore, although the present disclosure broadly covers use ofpersonal information data to implement one or more various disclosedembodiments, the present disclosure also contemplates that the variousembodiments can also be implemented without the need for accessing suchpersonal information data. That is, the various embodiments of thepresent technology are not rendered inoperable due to the lack of all ora portion of such personal information data.

1. An electronic device, comprising: a display; an input element; one ormore tactile output generators; one or more processors; and memorystoring one or more programs configured to be executed by the one ormore processors, the one or more programs including instructions for:displaying, on the display, a user interface; while displaying the userinterface, detecting, via the input element, a first input; and inresponse to detecting the first input: navigating through the userinterface, wherein navigating through the user interface comprises:moving a first portion of the user interface off of the display suchthat the first portion of the user interface is no longer visible on thedisplay; and while moving the first portion of the user interface off ofthe display, concurrently moving a second portion of the user interfaceonto the display such that the second portion of the user interfacebecomes visible on the display; and generating, via the one or moretactile output generators, tactile output corresponding to thenavigation through the user interface, including: in accordance with adetermination that a currently-displayed portion of the user interfaceincludes a first type of content, the tactile output corresponding tothe navigation includes a first type of tactile output sequence thatincludes one or more tactile outputs determined based on an input metricof the first input; and in accordance with a determination that thecurrently-displayed portion of the user interface includes a second typeof content different from the first type of content, the tactile outputcorresponding to the navigation includes a second type of tactile outputsequence that includes one or more tactile outputs determined based onmovement of predefined units of content in the user interface.
 2. Theelectronic device of claim 1, wherein the first type of tactile outputsequence is different from the second type of tactile output sequence.3. The electronic device of claim 1, wherein: the second type of tactileoutput sequence is determined based on the movement of the predefinedunits of content in the user interface, and the first type of tactileoutput sequence is determined independently of the movement of contentin the user interface.
 4. The electronic device of claim 1, wherein thepredefined units of content correspond to visually distinguished contentelements within the content.
 5. The electronic device of claim 1,wherein the user interface does not include content that is the secondtype of content.
 6. The electronic device of claim 1, wherein the userinterface does not include content that is the first type of content. 7.The electronic device of claim 1, wherein the one or more programsfurther include instructions for: generating, via the one or moretactile output generators, tactile output corresponding to thenavigation through the user interface, further including: in accordancewith a determination that the user interface is displaying a terminalportion of the first type of content, the tactile output correspondingto the navigation includes a third type of tactile output sequence,different from the first type of tactile output sequence, indicatingthat the content is at the terminal portion; and in accordance with adetermination that the user interface is not displaying a terminalportion of the first type of content, the tactile output portioncorresponding to the navigation does not include the third type oftactile output sequence.
 8. The electronic device of claim 1, wherein,in accordance with the determination that the user interface includesthe second type of content, and: in accordance with a determination thatthe predefined units of content are of a first type, the tactile outputhas a first amplitude; and in accordance with a determination that thepredefined units of content are of a second type different from thefirst type, the tactile output has a second amplitude smaller than thefirst amplitude.
 9. The electronic device of claim 1, wherein the numberof tactile outputs generated in the first type of tactile outputsequence corresponds to a speed of the first input, wherein the firstinput is a rotational input on the input element.
 10. The electronicdevice of claim 1, including, while navigating through the userinterface, in accordance with the determination that thecurrently-displayed portion of the user interface includes the secondtype of content, generating the tactile output comprises generating thetactile output in response a movement of a first predefined unit ofcontent into alignment on the display.
 11. The electronic device ofclaim 1, including, while navigating through the user interface, inaccordance with the determination that the currently-displayed portionof the user interface includes the second type of content, generatingthe tactile output comprises generating the tactile output in response amovement of a first predefined unit of content out of alignment on thedisplay.
 12. The electronic device of claim 1, wherein the one or moreprograms further include instructions for: displaying, on the display, asecond user interface different from the user interface; whiledisplaying the second user interface, detecting, via the input element,a second input; and in response to detecting the second input: inaccordance with a determination that the second input does not cause anavigation of the second user interface, forgoing generating, via theone or more tactile output generators, a tactile output; and inaccordance with a determination that the second input causes anavigation of the second user interface, generating, via the one or moretactile output generators, the tactile output.
 13. The electronic deviceof claim 12, wherein the second user interface corresponds to anotification, and wherein the notification replaces display of the userinterface.
 14. The electronic device of claim 1, wherein the one or moreprograms further include instructions for: while displaying the userinterface, detecting, via a second input element different from theinput element, a second input; and in response to detecting the secondinput: navigating through the user interface; and forgoing generating,via the one or more tactile output generators, the tactile outputcorresponding to the navigation through the user interface.
 15. Theelectronic device of claim 1, wherein the one or more programs furtherinclude instructions for: in response to detecting the first input:generating audio output associated with the tactile output correspondingto the navigation through the user interface, including: in accordancewith the determination that the currently-displayed portion of the userinterface includes the first type of content, the audio output includesa first type of audio output sequence that is associated with the firsttype of tactile output sequence; and in accordance with thedetermination that the currently-displayed portion of the user interfaceincludes the second type of content, the audio output includes a secondtype of audio output sequence that is associated with the second type oftactile output sequence.
 16. The electronic device of claim 1, whereinthe one or more programs further include instructions for: in accordancewith a determination that an event triggering a notification is detectedwhile not detecting input via the input element, generating a tactileoutput corresponding to the notification; and in accordance with adetermination that the event triggering the notification is detectedwhile detecting input via the input element, forgoing generating thetactile output corresponding to the notification.
 17. The electronicdevice of claim 1, wherein the one or more programs further includeinstructions for: in accordance with a determination that an eventtriggering a notification is detected while detecting the first input,forgoing generating a tactile output corresponding to the notificationuntil predefined criteria are met; and in response to a determinationthat the predetermined criteria have been met, generating the tactileoutput corresponding to the notification.
 18. A non-transitorycomputer-readable storage medium storing one or more programs configuredto be executed by one or more processors of an electronic device with adisplay, an input element, and one or more tactile output generators,the one or more programs including instructions for: displaying, on thedisplay, a user interface; while displaying the user interface,detecting, via the input element, a first input; and in response todetecting the first input: navigating through the user interface,wherein navigating through the user interface comprises: moving a firstportion of the user interface off of the display such that the firstportion of the user interface is no longer visible on the display, andwhile moving the first portion of the user interface off of the display,concurrently moving a second portion of the user interface onto thedisplay such that the second portion of the user interface becomesvisible on the display; and generating, via the one or more tactileoutput generators, tactile output corresponding to the navigationthrough the user interface, including: in accordance with adetermination that a currently-displayed portion of the user interfaceincludes a first type of content, the tactile output corresponding tothe navigation includes a first type of tactile output sequence thatincludes one or more tactile outputs determined based on an input metricof the first input; and in accordance with a determination that thecurrently-displayed portion of the user interface includes a second typeof content different from the first type of content, the tactile outputcorresponding to the navigation includes a second type of tactile outputsequence that includes one or more tactile outputs determined based onmovement of predefined units of content in the user interface.
 19. Amethod, comprising: at an electronic device with a display, an inputelement, and one or more tactile output generators: displaying, on thedisplay, a user interface; while displaying the user interface,detecting, via the input element, a first input; and in response todetecting the first input: navigating through the user interface,wherein navigating through the user interface comprises: moving a firstportion of the user interface off of the display such that the firstportion of the user interface is no longer visible on the display; andwhile moving the first portion of the user interface off of the display,concurrently moving a second portion of the user interface onto thedisplay such that the second portion of the user interface becomesvisible on the display; and generating, via the one or more tactileoutput generators, tactile output corresponding to the navigationthrough the user interface, including: in accordance with adetermination that a currently-displayed portion of the user interfaceincludes a first type of content, the tactile output corresponding tothe navigation includes a first type of tactile output sequence thatincludes one or more tactile outputs determined based on an input metricof the first input; and in accordance with a determination that thecurrently-displayed portion of the user interface includes a second typeof content different from the first type of content, the tactile outputcorresponding to the navigation includes a second type of tactile outputsequence that includes one or more tactile outputs determined based onmovement of predefined units of content in the user interface.
 20. Thenon-transitory computer-readable storage medium of claim 18, wherein thefirst type of tactile output sequence is different from the second typeof tactile output sequence.
 21. The non-transitory computer-readablestorage medium of claim 18, wherein: the second type of tactile outputsequence is determined based on the movement of the predefined units ofcontent in the user interface, and the first type of tactile outputsequence is determined independently of the movement of content in theuser interface.
 22. The non-transitory computer-readable storage mediumof claim 18, wherein the predefined units of content correspond tovisually distinguished content elements within the content.
 23. Thenon-transitory computer-readable storage medium of claim 18, wherein theuser interface does not include content that is the second type ofcontent.
 24. The non-transitory computer-readable storage medium ofclaim 18, wherein the user interface does not include content that isthe first type of content.
 25. The non-transitory computer-readablestorage medium of claim 18, wherein the one or more programs furtherinclude instructions for: generating, via the one or more tactile outputgenerators, tactile output corresponding to the navigation through theuser interface, further including: in accordance with a determinationthat the user interface is displaying a terminal portion of the firsttype of content, the tactile output corresponding to the navigationincludes a third type of tactile output sequence, different from thefirst type of tactile output sequence, indicating that the content is atthe terminal portion; and in accordance with a determination that theuser interface is not displaying a terminal portion of the first type ofcontent, the tactile output portion corresponding to the navigation doesnot include the third type of tactile output sequence.
 26. Thenon-transitory computer-readable storage medium of claim 18, wherein, inaccordance with the determination that the user interface includes thesecond type of content, and: in accordance with a determination that thepredefined units of content are of a first type, the tactile output hasa first amplitude; and in accordance with a determination that thepredefined units of content are of a second type different from thefirst type, the tactile output has a second amplitude smaller than thefirst amplitude.
 27. The non-transitory computer-readable storage mediumof claim 18, wherein the number of tactile outputs generated in thefirst type of tactile output sequence corresponds to a speed of thefirst input, wherein the first input is a rotational input on the inputelement.
 28. The non-transitory computer-readable storage medium ofclaim 18, including, while navigating through the user interface, inaccordance with the determination that the currently-displayed portionof the user interface includes the second type of content, generatingthe tactile output comprises generating the tactile output in response amovement of a first predefined unit of content into alignment on thedisplay.
 29. The non-transitory computer-readable storage medium ofclaim 18, including, while navigating through the user interface, inaccordance with the determination that the currently-displayed portionof the user interface includes the second type of content, generatingthe tactile output comprises generating the tactile output in response amovement of a first predefined unit of content out of alignment on thedisplay.
 30. The non-transitory computer-readable storage medium ofclaim 18, wherein the one or more programs further include instructionsfor: displaying, on the display, a second user interface different fromthe user interface; while displaying the second user interface,detecting, via the input element, a second input; and in response todetecting the second input: in accordance with a determination that thesecond input does not cause a navigation of the second user interface,forgoing generating, via the one or more tactile output generators, atactile output; and in accordance with a determination that the secondinput causes a navigation of the second user interface, generating, viathe one or more tactile output generators, the tactile output.
 31. Thenon-transitory computer-readable storage medium of claim 30, wherein thesecond user interface corresponds to a notification, and wherein thenotification replaces display of the user interface.
 32. Thenon-transitory computer-readable storage medium of claim 18, wherein theone or more programs further include instructions for: while displayingthe user interface, detecting, via a second input element different fromthe input element, a second input; and in response to detecting thesecond input: navigating through the user interface; and forgoinggenerating, via the one or more tactile output generators, the tactileoutput corresponding to the navigation through the user interface. 33.The non-transitory computer-readable storage medium of claim 18, whereinthe one or more programs further include instructions for: in responseto detecting the first input: generating audio output associated withthe tactile output corresponding to the navigation through the userinterface, including: in accordance with the determination that thecurrently-displayed portion of the user interface includes the firsttype of content, the audio output includes a first type of audio outputsequence that is associated with the first type of tactile outputsequence; and in accordance with the determination that thecurrently-displayed portion of the user interface includes the secondtype of content, the audio output includes a second type of audio outputsequence that is associated with the second type of tactile outputsequence.
 34. The non-transitory computer-readable storage medium ofclaim 18, wherein the one or more programs further include instructionsfor: in accordance with a determination that an event triggering anotification is detected while not detecting input via the inputelement, generating a tactile output corresponding to the notification;and in accordance with a determination that the event triggering thenotification is detected while detecting input via the input element,forgoing generating the tactile output corresponding to thenotification.
 35. The non-transitory computer-readable storage medium ofclaim 18, wherein the one or more programs further include instructionsfor: in accordance with a determination that an event triggering anotification is detected while detecting the first input, forgoinggenerating a tactile output corresponding to the notification untilpredefined criteria are met; and in response to a determination that thepredetermined criteria have been met, generating the tactile outputcorresponding to the notification.
 36. The method of claim 19, whereinthe first type of tactile output sequence is different from the secondtype of tactile output sequence.
 37. The method of claim 19, wherein:the second type of tactile output sequence is determined based on themovement of the predefined units of content in the user interface, andthe first type of tactile output sequence is determined independently ofthe movement of content in the user interface.
 38. The method of claim19, wherein the predefined units of content correspond to visuallydistinguished content elements within the content.
 39. The method ofclaim 19, wherein the user interface does not include content that isthe second type of content.
 40. The method of claim 19, wherein the userinterface does not include content that is the first type of content.41. The method of claim 19, further comprising: generating, via the oneor more tactile output generators, tactile output corresponding to thenavigation through the user interface, further including: in accordancewith a determination that the user interface is displaying a terminalportion of the first type of content, the tactile output correspondingto the navigation includes a third type of tactile output sequence,different from the first type of tactile output sequence, indicatingthat the content is at the terminal portion; and in accordance with adetermination that the user interface is not displaying a terminalportion of the first type of content, the tactile output portioncorresponding to the navigation does not include the third type oftactile output sequence.
 42. The method of claim 19, wherein, inaccordance with the determination that the user interface includes thesecond type of content, and: in accordance with a determination that thepredefined units of content are of a first type, the tactile output hasa first amplitude; and in accordance with a determination that thepredefined units of content are of a second type different from thefirst type, the tactile output has a second amplitude smaller than thefirst amplitude.
 43. The method of claim 19, wherein the number oftactile outputs generated in the first type of tactile output sequencecorresponds to a speed of the first input, wherein the first input is arotational input on the input element.
 44. The method of claim 19,including, while navigating through the user interface, in accordancewith the determination that the currently-displayed portion of the userinterface includes the second type of content, generating the tactileoutput comprises generating the tactile output in response a movement ofa first predefined unit of content into alignment on the display. 45.The method of claim 19, including, while navigating through the userinterface, in accordance with the determination that thecurrently-displayed portion of the user interface includes the secondtype of content, generating the tactile output comprises generating thetactile output in response a movement of a first predefined unit ofcontent out of alignment on the display.
 46. The method of claim 19,further comprising: displaying, on the display, a second user interfacedifferent from the user interface; while displaying the second userinterface, detecting, via the input element, a second input; and inresponse to detecting the second input: in accordance with adetermination that the second input does not cause a navigation of thesecond user interface, forgoing generating, via the one or more tactileoutput generators, a tactile output; and in accordance with adetermination that the second input causes a navigation of the seconduser interface, generating, via the one or more tactile outputgenerators, the tactile output.
 47. The method of claim 46, wherein thesecond user interface corresponds to a notification, and wherein thenotification replaces display of the user interface.
 48. The method ofclaim 19, wherein the one or more programs further include instructionsfor: while displaying the user interface, detecting, via a second inputelement different from the input element, a second input; and inresponse to detecting the second input: navigating through the userinterface; and forgoing generating, via the one or more tactile outputgenerators, the tactile output corresponding to the navigation throughthe user interface.
 49. The method of claim 19, further comprising: inresponse to detecting the first input: generating audio outputassociated with the tactile output corresponding to the navigationthrough the user interface, including: in accordance with thedetermination that the currently-displayed portion of the user interfaceincludes the first type of content, the audio output includes a firsttype of audio output sequence that is associated with the first type oftactile output sequence; and in accordance with the determination thatthe currently-displayed portion of the user interface includes thesecond type of content, the audio output includes a second type of audiooutput sequence that is associated with the second type of tactileoutput sequence.
 50. The method of claim 19, further comprising: inaccordance with a determination that an event triggering a notificationis detected while not detecting input via the input element, generatinga tactile output corresponding to the notification; and in accordancewith a determination that the event triggering the notification isdetected while detecting input via the input element, forgoinggenerating the tactile output corresponding to the notification.
 51. Themethod of claim 19, further comprising: in accordance with adetermination that an event triggering a notification is detected whiledetecting the first input, forgoing generating a tactile outputcorresponding to the notification until predefined criteria are met; andin response to a determination that the predetermined criteria have beenmet, generating the tactile output corresponding to the notification.